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

Sprout from master 2006-05-11 15:05:34 UTC Michael Rennie <mrennie> 'verified Bug 138389'
Delete:
    org.eclipse.core.variables/.classpath
    org.eclipse.core.variables/.cvsignore
    org.eclipse.core.variables/.project
    org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
    org.eclipse.core.variables/META-INF/MANIFEST.MF
    org.eclipse.core.variables/about.html
    org.eclipse.core.variables/build.properties
    org.eclipse.core.variables/component.xml
    org.eclipse.core.variables/plugin.properties
    org.eclipse.core.variables/plugin.xml
    org.eclipse.core.variables/schema/dynamicVariables.exsd
    org.eclipse.core.variables/schema/valueVariables.exsd
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/EclipseHomeVariableResolver.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
    org.eclipse.debug.ui/.classpath
    org.eclipse.debug.ui/.cvsignore
    org.eclipse.debug.ui/.options
    org.eclipse.debug.ui/.project
    org.eclipse.debug.ui/.settings/org.eclipse.core.resources.prefs
    org.eclipse.debug.ui/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.debug.ui/.settings/org.eclipse.pde.prefs
    org.eclipse.debug.ui/META-INF/MANIFEST.MF
    org.eclipse.debug.ui/about.html
    org.eclipse.debug.ui/build.properties
    org.eclipse.debug.ui/component.xml
    org.eclipse.debug.ui/doc/.cvsignore
    org.eclipse.debug.ui/icons/full/dlcl16/changevariablevalue_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/clear_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/display_selected_mb.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/export_brkpts.gif
    org.eclipse.debug.ui/icons/full/dlcl16/filter_ps.gif
    org.eclipse.debug.ui/icons/full/dlcl16/import_brkpts.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/new_con.gif
    org.eclipse.debug.ui/icons/full/dlcl16/printview_tsk.gif
    org.eclipse.debug.ui/icons/full/dlcl16/prop_ps.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/term_restart.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/delete_config.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/display_selected_mb.gif
    org.eclipse.debug.ui/icons/full/elcl16/dissolve_group.gif
    org.eclipse.debug.ui/icons/full/elcl16/drop_to_frame.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/expandall.gif
    org.eclipse.debug.ui/icons/full/elcl16/export_brkpts.gif
    org.eclipse.debug.ui/icons/full/elcl16/filter_ps.gif
    org.eclipse.debug.ui/icons/full/elcl16/hierarchicalLayout.gif
    org.eclipse.debug.ui/icons/full/elcl16/import_brkpts.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/new_con.gif
    org.eclipse.debug.ui/icons/full/elcl16/pin.gif
    org.eclipse.debug.ui/icons/full/elcl16/printview_tsk.gif
    org.eclipse.debug.ui/icons/full/elcl16/prop_ps.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/term_restart.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_grp.gif
    org.eclipse.debug.ui/icons/full/obj16/brkp_grp_disabled.gif
    org.eclipse.debug.ui/icons/full/obj16/brkp_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/brkp_type.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/file_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/read_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/read_obj_disabled.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/obj16/write_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/write_obj_disabled.gif
    org.eclipse.debug.ui/icons/full/ovr16/error.gif
    org.eclipse.debug.ui/icons/full/ovr16/skip_breakpoint_ov.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/adddir_wiz.png
    org.eclipse.debug.ui/icons/full/wizban/addsrcloc_wiz.png
    org.eclipse.debug.ui/icons/full/wizban/debug_wiz.png
    org.eclipse.debug.ui/icons/full/wizban/editdir_wiz.png
    org.eclipse.debug.ui/icons/full/wizban/edtsrclkup_wiz.png
    org.eclipse.debug.ui/icons/full/wizban/export_brkpts_wizban.png
    org.eclipse.debug.ui/icons/full/wizban/import_brkpts_wizban.png
    org.eclipse.debug.ui/icons/full/wizban/profile_wiz.png
    org.eclipse.debug.ui/icons/full/wizban/run_wiz.png
    org.eclipse.debug.ui/plugin.properties
    org.eclipse.debug.ui/plugin.xml
    org.eclipse.debug.ui/schema/breakpointOrganizers.exsd
    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/memoryRenderings.exsd
    org.eclipse.debug.ui/schema/sourceContainerPresentations.exsd
    org.eclipse.debug.ui/schema/stringVariablePresentations.exsd
    org.eclipse.debug.ui/schema/variableValueEditors.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/CompositeDebugImageDescriptor.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/DebugUIPreferenceInitializer.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/DynamicInstructionPointerAnnotation.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/ImageDescriptorRegistry.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/InstructionPointerImageProvider.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/VariableValueEditorManager.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/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/AbstractSelectionActionDelegate.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/CollapseAllAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.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/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/EditLaunchConfigurationAction.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/FindElementAction.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/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/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/RemoveAllTerminatedAction.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/RetargetRunToLineAction.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/StatusInfo.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/ViewManagementAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AdvancedGroupBreakpointsByAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointGroupMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointGroupMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointSelectionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointWorkingSetAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/EditBreakpointGroupAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/PasteBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ToggleDefaultGroupAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/WorkingSetsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/AccessWatchpointToggleAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsCollapseAllAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsExpandAllAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DeleteWorkingsetsMessageDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DisableBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/EnableBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/LinkBreakpointsWithDebugViewAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModificationWatchpointToggleAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModifyWatchpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/OpenBreakpointMarkerAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetMethodBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleLineBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetWatchpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RulerEnableDisableBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SelectAllBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SkipAllBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ToggleBreakpointObjectActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractDebugContextAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractDebugContextActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ActionAdapterFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ActionRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/BooleanRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ResumeAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ResumeActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StandardActionAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepFiltersAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepIntoAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepIntoActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepOverAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepOverActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepReturnAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepReturnActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendResumeAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAllAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRelaunchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRemoveAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRemoveActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ToggleStepFiltersAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ToggleStepFiltersActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/AddWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ConvertToWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/DisableWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EnableWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ReevaluateWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveAllExpressionsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/SelectAllExpressionsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousDisconnectAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousDropToFrameAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousStepAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousStepFiltersAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousSuspendResumeAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousTerminateAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IBooleanRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/AssignValueAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueInputDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/SelectAllVariablesAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ShowTypesAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ToggleDetailPaneAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/IDebugContextService.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISourceDisplayAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DebugTargetContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultVariableCellModifier.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionLabelAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionManagerContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LauchManagerContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LaunchContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockLabelAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryRetrievalContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ProcessContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameSourceDisplayAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ThreadContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnEditor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnFactoryAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableLabelAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/BreakpointImportExport.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ExportBreakpoints.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/IImportExportConstants.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportBreakpoints.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportExportMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpoints.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpoints.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsPage.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/ClosedProjectFilter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CollapseAllLaunchConfigurationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.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/DeleteAssociatedLaunchConfigurationsDialog.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/DeleteLaunchConfigurationStatusHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeletedProjectFilter.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/FilterDropDownMenuCreator.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterLaunchConfigurationAction.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/LaunchConfigurationTypeFilter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypesViewer.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/MultiLaunchGroupFilter.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/SaveScopeResourcesHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryBlockConnection.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryRenderingUpdater.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IPersistableDebugElement.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingType.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTextRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/MemoryViewPresentationContext.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/LaunchConfigurationTreeContentProviderNoChildren.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.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/PerspectivePreferencePage.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/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/SourceLookupFacility.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.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/SourceLookupResult.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupService.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/SystemPropertyArgumentSelector.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/WorkspaceResolver.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractAddRemoveRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractUpdatePolicy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AddRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousSchedulingRuleFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeModel.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeNavigationDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ContainerRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelResult.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelResult.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PresentationContext.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/RemoveRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableAddRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableEditorImpl.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableInsertRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableRemoveRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableReplaceRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableUpdatePolicy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeEditorImpl.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeUpdatePolicy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnEditor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousLabelAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousContentAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousLabelAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IChildrenRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnEditor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnEditorFactoryAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnPresentationFactoryAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IContainerRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ILabelRequestMonitor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelChangedListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelDelta.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelProxyFactoryAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelSelectionPolicy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelSelectionPolicyFactoryAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IPresentationContext.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ModelDelta.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultExpressionModelProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelSelectionPolicyFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultVariableViewModelProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionManagerModelProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryBlockProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryRetrievalProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.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/IDebugExceptionHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.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/BreakpointsViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/IBreakpointOrganizer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/OtherBreakpointCategory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.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/ConsoleRemoveAllTerminatedAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.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/ProcessConsole.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.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/launch/DebugElementAdapterFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.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/ImageImageDescriptor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchTreeModel.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/LaunchViewUpdatePolicy.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/AbstractMemoryViewPane.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/AddMemoryRenderingAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.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/IMemoryViewPane.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/LinkRenderingPanesAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.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/MemoryViewIdRegistry.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.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/MemoryViewTreeViewer.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/NewMemoryViewAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.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/ResetMemoryBlockPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.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/ToggleMemoryMonitorsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneOrientationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.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/memory/renderings/ASCIIRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressComposite.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IContentChangeComputer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IPresentationErrorListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IVirtualContentListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PendingPropertyChanges.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/RenderingsUtil.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentDescriptor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.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/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/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/MaxDetailsLengthAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/MaxDetailsLengthDialog.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/ToggleShowColumnsAction.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/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/AbstractBreakpointOrganizerDelegate.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/BreakpointTypeCategory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugElementWorkbenchAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DeferredDebugElementWorkbenchAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointTypeCategory.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/IInstructionPointerPresentation.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/InspectPopupDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.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/AddMemoryRenderingActionDelegate.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/ExportBreakpointsOperation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryBlocksTarget.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryRenderingsTarget.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/IToggleBreakpointsTargetExtension.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IVariableValueEditor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.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/LaunchShortcutsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerEnableDisableBreakpointActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerToggleBreakpointActionDelegate.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/RunToLineHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.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/memory/AbstractMemoryRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTextRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryBlockTablePresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingContainer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSynchronizationService.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingType.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingTypeDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IResettableMemoryRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/MemoryRenderingElement.java
    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/CommonSourceNotFoundEditor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceLookupResult.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.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/package.html
    org.eclipse.ui.console/.classpath
    org.eclipse.ui.console/.cvsignore
    org.eclipse.ui.console/.project
    org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.ui.console/.settings/org.eclipse.pde.prefs
    org.eclipse.ui.console/META-INF/MANIFEST.MF
    org.eclipse.ui.console/about.html
    org.eclipse.ui.console/build.properties
    org.eclipse.ui.console/component.xml
    org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/clcl16/lock_co.gif
    org.eclipse.ui.console/icons/full/clcl16/pin.gif
    org.eclipse.ui.console/icons/full/cview16/console_view.gif
    org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif
    org.eclipse.ui.console/icons/full/dlcl16/pin.gif
    org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif
    org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/elcl16/lock_co.gif
    org.eclipse.ui.console/icons/full/elcl16/new_con.gif
    org.eclipse.ui.console/icons/full/elcl16/pin.gif
    org.eclipse.ui.console/icons/full/elcl16/rem_co.gif
    org.eclipse.ui.console/icons/full/eview16/console_view.gif
    org.eclipse.ui.console/plugin.properties
    org.eclipse.ui.console/plugin.xml
    org.eclipse.ui.console/schema/consoleFactories.exsd
    org.eclipse.ui.console/schema/consolePageParticipants.exsd
    org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd
    org.eclipse.ui.console/scripts/exportplugin.xml
    org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink2.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
    org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.properties
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleViewConsoleFactory.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
    org.eclipse.ui.externaltools/.classpath
    org.eclipse.ui.externaltools/.cvsignore
    org.eclipse.ui.externaltools/.project
    org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/EditCommandDialog.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/SystemPathResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
    org.eclipse.ui.externaltools/META-INF/MANIFEST.MF
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
    org.eclipse.ui.externaltools/about.html
    org.eclipse.ui.externaltools/build.properties
    org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
    org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
    org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
    org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
    org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
    org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.png
    org.eclipse.ui.externaltools/plugin.properties
    org.eclipse.ui.externaltools/plugin.xml
    org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
diff --git a/org.eclipse.core.variables/.classpath b/org.eclipse.core.variables/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/org.eclipse.core.variables/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.core.variables/.cvsignore b/org.eclipse.core.variables/.cvsignore
deleted file mode 100644
index 6938697..0000000
--- a/org.eclipse.core.variables/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-doc
diff --git a/org.eclipse.core.variables/.project b/org.eclipse.core.variables/.project
deleted file mode 100644
index efb82a1..0000000
--- a/org.eclipse.core.variables/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.variables</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 02375fd..0000000
--- a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 16 16:43:50 CST 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs b/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 02f5958..0000000
--- a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:35:14 GMT-08:00 2004

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

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

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

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

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

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

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

-compilers.use-project=true

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

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="variable">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique name for this variable.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-&lt;pre&gt;

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

-   &lt;variable 

-      name=&quot;resource_name&quot;

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

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

-   &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

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

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="variable">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique name for this variable.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-

-&lt;p&gt;

-&lt;pre&gt;

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

-  &lt;variable

-   name=&quot;FOO_HOME&quot;

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

-  &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

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

-

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

-&lt;p&gt;

-&lt;pre&gt;

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

-  &lt;variable

-   name=&quot;FOO_HOME&quot;

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

-  &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

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

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
deleted file mode 100644
index f2d48d8..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Dynamic variable
- */
-public class DynamicVariable extends StringVariable implements IDynamicVariable {
-	
-	/**
-	 * Resolver, or <code>null</code> until needed
-	 */
-	private IDynamicVariableResolver fResolver;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariable#getValue(java.lang.String)
-	 */
-	public String getValue(String argument) throws CoreException {
-		if (!supportsArgument()) {
-			// check for an argument - not supported
-			if (argument != null && argument.length() > 0) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind(VariablesMessages.DynamicVariable_0, new String[]{argument, getName()}), null)); 
-			}
-		}
-		if (fResolver == null) {
-			String name = getConfigurationElement().getAttribute("resolver"); //$NON-NLS-1$
-			if (name == null) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind("Contributed context variable {0} must specify a resolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-			Object object = getConfigurationElement().createExecutableExtension("resolver"); //$NON-NLS-1$
-			if (object instanceof IDynamicVariableResolver) {
-				fResolver = (IDynamicVariableResolver)object;
-			} else {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind("Contributed context variable resolver for {0} must be an instance of IContextVariableResolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-		}
-		return fResolver.resolveValue(this, argument);
-	}
-
-	/**
-	 * Constructs a new context variable.
-	 * 
-	 * @param name variable name
-	 * @param description variable description or <code>null</code>
-	 * @param configurationElement configuration element
-	 */
-	public DynamicVariable(String name, String description, IConfigurationElement configurationElement) {
-		super(name, description, configurationElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariable#supportsArgument()
-	 */
-	public boolean supportsArgument() {
-		String arg = getConfigurationElement().getAttribute("supportsArgument"); //$NON-NLS-1$
-		return arg == null || Boolean.valueOf(arg).booleanValue();
-	}
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/EclipseHomeVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/EclipseHomeVariableResolver.java
deleted file mode 100644
index 17ca4a1..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/EclipseHomeVariableResolver.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Bjorn Freeman-Benson - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.osgi.service.datalocation.Location;
-
-/**
- * Resolver for ${eclipse_home}
- * 
- * @since 3.2
- */
-public class EclipseHomeVariableResolver implements IDynamicVariableResolver {
-
-    public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-        Location installLocation = Platform.getInstallLocation();
-        if (installLocation != null) {
-            URL url = installLocation.getURL();
-            if (url != null) {
-                String file = url.getFile();
-                if (file.length() != 0) {
-                    return file;
-                }
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
deleted file mode 100644
index 94bd5d7..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Performs string substitution for context and value variables.
- */
-public class StringSubstitutionEngine {
-	
-	// delimiters
-	private static final String VARIABLE_START = "${"; //$NON-NLS-1$
-	private static final char VARIABLE_END = '}'; 
-	private static final char VARIABLE_ARG = ':'; 
-	// parsing states
-	private static final int SCAN_FOR_START = 0;
-	private static final int SCAN_FOR_END = 1;
-	
-	/**
-	 * Resulting string
-	 */
-	private StringBuffer fResult;
-	
-	/**
-	 * Whether substitutions were performed
-	 */
-	private boolean fSubs;
-	
-	/**
-	 * Stack of variables to resolve
-	 */
-	private Stack fStack;
-	
-	class VariableReference {
-		
-		// the text inside the variable reference
-		private StringBuffer fText;
-		
-		public VariableReference() {
-			fText = new StringBuffer();
-		}
-		
-		public void append(String text) {
-			fText.append(text);
-		}
-		
-		public String getText() {
-			return fText.toString();
-		}
-	
-	}
-	
-	/**
-	 * Performs recursive string substitution and returns the resulting string.
-	 * 
-	 * @param expression expression to resolve
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param manager registry of variables
-	 * @return the resulting string with all variables recursively
-	 *  substituted
-	 * @exception CoreException if unable to resolve a referenced variable or if a cycle exists
-	 *  in referenced variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		substitute(expression, reportUndefinedVariables, resolveVariables, manager);
-		List resolvedVariableSets = new ArrayList();
-		while (fSubs) {
-			HashSet resolved = substitute(fResult.toString(), reportUndefinedVariables, true, manager);			
-			
-			for(int i=resolvedVariableSets.size()-1; i>=0; i--) {
-				
-				HashSet prevSet = (HashSet)resolvedVariableSets.get(i);
-
-				if (prevSet.equals(resolved)) {
-					HashSet conflictingSet = new HashSet();
-					for (; i<resolvedVariableSets.size(); i++)
-						conflictingSet.addAll((HashSet)resolvedVariableSets.get(i));
-					
-					StringBuffer problemVariableList = new StringBuffer();
-					for (Iterator it=conflictingSet.iterator(); it.hasNext(); ) {
-						problemVariableList.append(it.next().toString());
-						problemVariableList.append(", "); //$NON-NLS-1$
-					}
-					problemVariableList.setLength(problemVariableList.length()-2); //truncate the last ", "
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.REFERENCE_CYCLE_ERROR, NLS.bind(VariablesMessages.StringSubstitutionEngine_4, new String[]{problemVariableList.toString()}), null)); 
-				}				
-			}		
-			
-			resolvedVariableSets.add(resolved);			
-		}
-		return fResult.toString();
-	}
-	
-	/**
-	 * Performs recursive string validation to ensure that all of the variables
-	 * contained in the expression exist
-	 * @param expression expression to validate
-	 * @param manager registry of variables
-	 * @exception CoreException if a referenced variable does not exist or if a cycle exists
-	 *  in referenced variables
-	 */
-	public void validateStringVariables(String expression, IStringVariableManager manager) throws CoreException {
-		performStringSubstitution(expression, true, false, manager);
-	}
-	
-	/**
-	 * Makes a substitution pass of the given expression returns a Set of the variables that were resolved in this
-	 *  pass
-	 *  
-	 * @param expression source expression
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param resolveVariables whether to resolve the value of any variables
-	 * @exception CoreException if unable to resolve a variable
-	 */
-	private HashSet substitute(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		fResult = new StringBuffer(expression.length());
-		fStack = new Stack();
-		fSubs = false;
-		
-		HashSet resolvedVariables = new HashSet();
-
-		int pos = 0;
-		int state = SCAN_FOR_START;
-		while (pos < expression.length()) {
-			switch (state) {
-				case SCAN_FOR_START:
-					int start = expression.indexOf(VARIABLE_START, pos);
-					if (start >= 0) {
-						int length = start - pos;
-						// copy non-variable text to the result
-						if (length > 0) {
-							fResult.append(expression.substring(pos, start));
-						}
-						pos = start + 2;
-						state = SCAN_FOR_END;
-
-						fStack.push(new VariableReference());						
-					} else {
-						// done - no more variables
-						fResult.append(expression.substring(pos));
-						pos = expression.length();
-					}
-					break;
-				case SCAN_FOR_END:
-					// be careful of nested variables
-					start = expression.indexOf(VARIABLE_START, pos);
-					int end = expression.indexOf(VARIABLE_END, pos);
-					if (end < 0) {
-						// variables are not completed
-						VariableReference tos = (VariableReference)fStack.peek();
-						tos.append(expression.substring(pos));
-						pos = expression.length();
-					} else {
-						if (start >= 0 && start < end) {
-							// start of a nested variable
-							int length = start - pos;
-							if (length > 0) {
-								VariableReference tos = (VariableReference)fStack.peek();
-								tos.append(expression.substring(pos, start));
-							}
-							pos = start + 2;
-							fStack.push(new VariableReference());	
-						} else {
-							// end of variable reference
-							VariableReference tos = (VariableReference)fStack.pop();
-							String substring = expression.substring(pos, end);							
-							tos.append(substring);
-							resolvedVariables.add(substring);
-							
-							pos = end + 1;
-							String value= resolve(tos, reportUndefinedVariables, resolveVariables, manager);
-							if (value == null) {
-								value = ""; //$NON-NLS-1$
-							}
-							if (fStack.isEmpty()) {
-								// append to result
-								fResult.append(value);
-								state = SCAN_FOR_START;
-							} else {
-								// append to previous variable
-								tos = (VariableReference)fStack.peek();
-								tos.append(value);
-							}
-						}
-					}
-					break;
-			}
-		}
-		// process incomplete variable references
-		while (!fStack.isEmpty()) {
-			VariableReference tos = (VariableReference)fStack.pop();
-			if (fStack.isEmpty()) {
-				fResult.append(VARIABLE_START);
-				fResult.append(tos.getText());
-			} else {
-				VariableReference var = (VariableReference)fStack.peek();
-				var.append(VARIABLE_START);
-				var.append(tos.getText());
-			}
-		}
-		
-
-		return resolvedVariables;
-	}
-
-	/**
-	 * Resolve and return the value of the given variable reference,
-	 * possibly <code>null</code>. 
-	 * 
-	 * @param var
-	 * @param reportUndefinedVariables whether to report undefined variables as
-	 *  an error
-	 * @param resolveVariables whether to resolve the variables value or just to validate that this variable is valid
-	 * @param manager variable registry
-	 * @return variable value, possibly <code>null</code>
-	 * @exception CoreException if unable to resolve a value
-	 */
-	private String resolve(VariableReference var, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		String text = var.getText();
-		int pos = text.indexOf(VARIABLE_ARG);
-		String name = null;
-		String arg = null;
-		if (pos > 0) {
-			name = text.substring(0, pos);
-			pos++;
-			if (pos < text.length()) {
-				arg = text.substring(pos);
-			} 
-		} else {
-			name = text;
-		}
-		IValueVariable valueVariable = manager.getValueVariable(name);
-		if (valueVariable == null) {
-			IDynamicVariable dynamicVariable = manager.getDynamicVariable(name);
-			if (dynamicVariable == null) {
-				// no variables with the given name
-				if (reportUndefinedVariables) {
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind(VariablesMessages.StringSubstitutionEngine_3, new String[]{name}), null)); 
-				} 
-				// leave as is
-				return getOriginalVarText(var);
-			} 
-			
-			if (resolveVariables) {
-				fSubs = true;
-				return dynamicVariable.getValue(arg);
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		
-		if (arg == null) {
-			if (resolveVariables) {
-				fSubs = true;
-				return valueVariable.getValue();
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		// error - an argument specified for a value variable
-		throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind(VariablesMessages.StringSubstitutionEngine_4, new String[]{valueVariable.getName()}), null)); 
-	}
-
-	private String getOriginalVarText(VariableReference var) {
-		StringBuffer res = new StringBuffer(var.getText());
-		res.insert(0, VARIABLE_START);
-		res.append(VARIABLE_END);
-		return res.toString();
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
deleted file mode 100644
index 27d7d61..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IStringVariable;
-
-/**
- * Common implementation of context and value variables
- */
-public abstract class StringVariable implements IStringVariable {
-	
-	/**
-	 * Variable name
-	 */
-	private String fName;
-	
-	/**
-	 * Variable description, or <code>null</code>
-	 */
-	private String fDescription;
-	
-	/**
-	 * Configuration element associated with this variable, or <code>null</code>
-	 */
-	private IConfigurationElement fConfigurationElement;
-
-	/**
-	 * Constructs a new variable with the given name and description.
-	 * 
-	 * @param name variable name
-	 * @param description variable description, or <code>null</code>
-	 */
-	public StringVariable(String name, String description, IConfigurationElement configurationElement) {
-		fName = name;
-		fDescription = description;
-		fConfigurationElement = configurationElement;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getDescription()
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-	
-	/**
-	 * Returns the configuration element associated with this variable, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return configuration element or <code>null</code>
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fConfigurationElement;
-	}
-	
-	/**
-	 * @see IValueVariable#setDescription(String)
-	 * @param description
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
deleted file mode 100644
index 8c3fd8a..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
+++ /dev/null
@@ -1,593 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
-import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableListener;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Singleton string variable manager. 
- */
-public class StringVariableManager implements IStringVariableManager, IPropertyChangeListener {
-	
-	/**
-	 * Dynamic variables - maps variable names to variables.
-	 */
-	private Map fDynamicVariables;
-	
-	/**
-	 * Value variables - maps variable names to variables.
-	 */
-	private Map fValueVariables;
-	
-	/**
-	 * Variable listeners
-	 */
-	private ListenerList fListeners;
-	
-	// notifications
-	private static final int ADDED = 0;
-	private static final int CHANGED = 1;
-	private static final int REMOVED = 2;
-	
-	/**
-	 * Singleton variable manager.
-	 */
-	private static StringVariableManager fgManager; 
-	
-	// true during internal updates indicates that change notification
-	// should be suppressed/ignored.
-	private boolean fInternalChange = false;
-	
-	// Variable extension point constants
-	private static final String ATTR_NAME= "name"; //$NON-NLS-1$
-	private static final String ATTR_DESCRIPTION="description"; //$NON-NLS-1$	
-	// 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];
-				SafeRunner.run(this);
-			}	
-			fVariables = null;
-			fListener = null;
-			// persist variables whenever there is an add/change/remove	
-			storeValueVariables();	
-		}
-	}	
-	
-	/**
-	 * Returns a new notifier.
-	 * 
-	 * @return a new notifier
-	 */
-	private StringVariableNotifier getNotifier() {
-		return new StringVariableNotifier();
-	}
-	
-	/**
-	 * Returns the default string variable manager
-	 * 
-	 * @return string variable manager
-	 */
-	public static StringVariableManager getDefault() {
-		if (fgManager == null) {
-			fgManager = new StringVariableManager();
-		}
-		return fgManager;
-	}
-	
-	/**
-	 * Constructs a new string variable manager. 
-	 */
-	private StringVariableManager() {
-		fListeners = new ListenerList();
-	}	
-
-	/**
-	 * Load contributed variables and persisted variables
-	 */
-	private synchronized void initialize() {
-		if (fDynamicVariables == null) {
-			fInternalChange = true;
-			fDynamicVariables = new HashMap(5);
-			fValueVariables = new HashMap(5);
-			loadPersistedValueVariables();
-			loadContributedValueVariables();
-			loadDynamicVariables();
-			VariablesPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(this);
-			fInternalChange = false;
-		}
-	}
-	
-	/**
-	 * Loads contributed dynamic variables
-	 */
-	private void loadDynamicVariables() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_DYNAMIC_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				VariablesPlugin.logMessage(NLS.bind("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			DynamicVariable variable= new DynamicVariable(name, description, element);
-			fDynamicVariables.put(variable.getName(), variable);
-		}
-	}
-
-	/**
-	 * Loads any persisted value variables from the preference store.
-	 */
-	private void loadPersistedValueVariables() {
-		String variablesString= VariablesPlugin.getDefault().getPluginPreferences().getString(PREF_VALUE_VARIABLES);
-		if (variablesString.length() == 0) {
-			return;
-		}
-		Element root= null;
-		Throwable ex = null;
-		try {
-			ByteArrayInputStream stream = new ByteArrayInputStream(variablesString.getBytes("UTF-8")); //$NON-NLS-1$
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-			root = parser.parse(stream).getDocumentElement();
-		} catch (UnsupportedEncodingException e) {
-			ex = e;
-		} catch (ParserConfigurationException e) {
-			ex = e;
-		} catch (FactoryConfigurationError e) {
-			ex = e;
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		if (ex != null) {
-			VariablesPlugin.logMessage("An exception occurred while loading persisted value variables.", ex); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(VALUE_VARIABLES_TAG)) {
-			VariablesPlugin.logMessage("Invalid format encountered while loading persisted value variables.", null); //$NON-NLS-1$
-			return;
-		}
-		NodeList list= root.getChildNodes();
-		for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
-			Node node= list.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				Element element= (Element) node;
-				if (!element.getNodeName().equals(VALUE_VARIABLE_TAG)) {
-					VariablesPlugin.logMessage(NLS.bind("Invalid XML element encountered while loading value variables: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
-					continue;
-				}
-				String name= element.getAttribute(NAME_TAG);
-				if (name.length() > 0) {
-					String value= element.getAttribute(VALUE_TAG);
-					String description= element.getAttribute(DESCRIPTION_TAG);
-					boolean 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
-	 * variables 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(NLS.bind("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			ValueVariable variable= new ValueVariable(name, description, element);
-			// if already present, merge with persisted value
-			ValueVariable existing = (ValueVariable)getValueVariable(name);
-			if (existing != null) {
-				if (existing.isInitialized()) {
-					variable.setValue(existing.getValue());
-				}					
-			}
-			fValueVariables.put(variable.getName(), variable);
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getVariables()
-	 */
-	public synchronized IStringVariable[] getVariables() {
-		initialize();
-		List list = new ArrayList(fDynamicVariables.size() + fValueVariables.size());
-		list.addAll(fDynamicVariables.values());
-		list.addAll(fValueVariables.values());
-		return (IStringVariable[]) list.toArray(new IStringVariable[list.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariables()
-	 */
-	public synchronized IValueVariable[] getValueVariables() {
-		initialize();
-		return (IValueVariable[]) fValueVariables.values().toArray(new IValueVariable[fValueVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariables()
-	 */
-	public synchronized IDynamicVariable[] getDynamicVariables() {
-		initialize();
-		return (IDynamicVariable[]) fDynamicVariables.values().toArray(new IDynamicVariable[fDynamicVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String)
-	 */
-	public String performStringSubstitution(String expression) throws CoreException {
-		return performStringSubstitution(expression, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#newValueVariable(java.lang.String, java.lang.String)
-	 */
-	public IValueVariable newValueVariable(String name, String description) {
-		IConfigurationElement element = null;
-		ValueVariable existing = (ValueVariable)getValueVariable(name);
-		if (existing != null && existing.isContributed()) {
-			element = existing.getConfigurationElement();
-		}
-		return new ValueVariable(name, description, element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public synchronized void addVariables(IValueVariable[] variables) throws CoreException {
-		initialize();
-		MultiStatus status = new MultiStatus(VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, VariablesMessages.StringVariableManager_26, null); 
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (getValueVariable(variable.getName()) != null) {
-				status.add(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind(VariablesMessages.StringVariableManager_27, new String[]{variable.getName()}), null)); 
-			}			
-		}
-		if (status.isOK()) {
-			for (int i = 0; i < variables.length; i++) {
-				IValueVariable variable = variables[i];
-				fValueVariables.put(variable.getName(), variable);
-			}
-			IValueVariable[] copy = new IValueVariable[variables.length];
-			System.arraycopy(variables, 0, copy, 0, variables.length);
-			getNotifier().notify(copy, ADDED);
-			return;
-		}
-		throw new CoreException(status);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public synchronized void removeVariables(IValueVariable[] variables) {
-		initialize();
-		List removed = new ArrayList(variables.length);
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (fValueVariables.remove(variable.getName()) != null) {
-				removed.add(variable);
-			}
-		}
-		if (removed.size() > 0) {
-			getNotifier().notify((IValueVariable[])removed.toArray(new IValueVariable[removed.size()]), REMOVED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariable(java.lang.String)
-	 */
-	public synchronized IDynamicVariable getDynamicVariable(String name) {
-		initialize();
-		return (IDynamicVariable) fDynamicVariables.get(name);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariable(java.lang.String)
-	 */
-	public synchronized IValueVariable getValueVariable(String name) {
-		initialize();
-		return (IValueVariable) fValueVariables.get(name);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void addValueVariableListener(IValueVariableListener listener) {
-		fListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener) {
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * Returns a memento representing the value variables currently registered.
-	 * 
-	 * @return memento representing the value variables currently registered
-	 * @throws IOException if an I/O exception occurs while creating the XML.
-	 */
-	private String getValueVariablesAsXML() throws IOException, ParserConfigurationException, TransformerException {
-		IValueVariable[] variables = getValueVariables();
-
-		Document document= getDocument();
-		Element rootElement= document.createElement(VALUE_VARIABLES_TAG);
-		document.appendChild(rootElement);
-		for (int i = 0; i < variables.length; i++) {
-			ValueVariable variable = (ValueVariable)variables[i];
-			Element element= document.createElement(VALUE_VARIABLE_TAG);
-			element.setAttribute(NAME_TAG, variable.getName());
-			String value= variable.getValue();
-			if (value != null) {
-				element.setAttribute(VALUE_TAG, value);
-			}
-			String description= variable.getDescription();
-			if (description != null) {
-				element.setAttribute(DESCRIPTION_TAG, description);
-			}
-			element.setAttribute(INITIALIZED_TAG, variable.isInitialized() ? TRUE_VALUE : FALSE_VALUE);
-			rootElement.appendChild(element);
-		}
-		return serializeDocument(document);
-	}
-	
-	private Document getDocument() throws ParserConfigurationException {
-		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-		Document doc =docBuilder.newDocument();
-		return doc;
-	}
-	
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 * @throws TransformerException if an unrecoverable error occurs during the serialization
-	 * @throws IOException if the encoding attempted to be used is not supported
-	 */
-	private String serializeDocument(Document doc) throws TransformerException, UnsupportedEncodingException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		
-		TransformerFactory factory= TransformerFactory.newInstance();
-		Transformer transformer= factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-		
-		DOMSource source= new DOMSource(doc);
-		StreamResult outputTarget= new StreamResult(s);
-		transformer.transform(source, outputTarget);
-		
-		return s.toString("UTF8"); //$NON-NLS-1$			
-	}
-	
-	/**
-	 * Saves the value variables currently registered in the
-	 * preference store. 
-	 */
-	private synchronized void storeValueVariables() {
-		Preferences prefs= VariablesPlugin.getDefault().getPluginPreferences();
-		String variableString= ""; //$NON-NLS-1$
-		if (!fValueVariables.isEmpty()) {
-			try {
-				variableString= getValueVariablesAsXML();
-			} catch (IOException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			} catch (ParserConfigurationException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			} catch (TransformerException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			}
-		}
-		fInternalChange = true;
-		prefs.setValue(PREF_VALUE_VARIABLES, variableString);
-		VariablesPlugin.getDefault().savePluginPreferences();
-		fInternalChange = false;
-	}
-
-	/**
-	 * Fire a change notification for the given variable.
-	 * 
-	 * @param variable the variable that has changed
-	 */
-	protected void notifyChanged(ValueVariable variable) {
-		if (!fInternalChange) {
-			IValueVariable existing = getValueVariable(variable.getName());
-			if (variable.equals(existing)) {
-				// do not do change notification for unregistered variables
-				getNotifier().notify(new IValueVariable[]{variable}, CHANGED);
-			}
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#generateVariableExpression(java.lang.String, java.lang.String)
-	 */
-	public String generateVariableExpression(String varName, String arg) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("${"); //$NON-NLS-1$
-		buffer.append(varName);
-		if (arg != null) {
-			buffer.append(":"); //$NON-NLS-1$
-			buffer.append(arg);
-		}
-		buffer.append("}"); //$NON-NLS-1$
-		return buffer.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String, boolean)
-	 */
-	public String performStringSubstitution(String expression,	boolean reportUndefinedVariables) throws CoreException {
-		return new StringSubstitutionEngine().performStringSubstitution(expression, reportUndefinedVariables, true, this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IStringVariableManager#validateStringVariables(java.lang.String)
-	 */
-	public void validateStringVariables(String expression) throws CoreException {
-		new StringSubstitutionEngine().validateStringVariables(expression, this);
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.variables.IStringVariableManager#getContributingPluginId(org.eclipse.core.variables.IStringVariable)
-     */
-    public String getContributingPluginId(IStringVariable variable) {
-        if (variable instanceof StringVariable) {
-            return ((StringVariable) variable).getConfigurationElement().getContributor().getName();
-        }
-        return null;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (PREF_VALUE_VARIABLES.equals(event.getProperty())) {
-			synchronized (this) {
-				if (!fInternalChange) {
-					fValueVariables.clear();
-					loadPersistedValueVariables();
-					loadContributedValueVariables();
-				}
-			}
-		}
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
deleted file mode 100644
index dc92fe7..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableInitializer;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Implementation of a value variable.
- */
-public class 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(NLS.bind("Unable to initialize variable {0} - initializer must be an instance of IValueVariableInitializer.", new String[]{getName()}), null); //$NON-NLS-1$
-						}
-					} catch (CoreException e) {
-						VariablesPlugin.logMessage(NLS.bind("Unable to initialize variable {0}",new String[]{getName()}), e); //$NON-NLS-1$
-					}
-				}
-			} else {
-				setValue(value);
-			}
-		}
-		setInitialized(true);
-	}
-
-	/**
-	 * Returns whether this variable has been initialized with a value by one of:
-	 * <ul>
-	 * <li><code>setValue(String)</code></li>
-	 * <li>its configuration element's <code>initialValue</code> attribute</li>
-	 * <li>its configuration element's initializer</li>
-	 * </ul>
-	 * @return whether this variable has been initialized with a value
-	 */	
-	protected boolean isInitialized() {
-		return fInitialized;
-	} 
-	
-	/**
-	 * Sets whether this variable has been initialized with a value.
-	 *  
-	 * @param initialized whether this variable has been initialized
-	 */
-	protected void setInitialized(boolean initialized) {
-		fInitialized = initialized;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#isContributed()
-	 */
-	public boolean isContributed() {
-		return getConfigurationElement() != null;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
deleted file mode 100644
index 27378a6..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.osgi.util.NLS;
-
-public class VariablesMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.core.internal.variables.VariablesMessages";//$NON-NLS-1$
-	//
-	// Copyright (c) 2000, 2005 IBM Corporation and others.
-	// All rights reserved. This program and the accompanying materials
-	// are made available under the terms of the Eclipse Public License v1.0
-	// which accompanies this distribution, and is available at
-	// http://www.eclipse.org/legal/epl-v10.html
-	//
-	// Contributors:
-	//     IBM Corporation - initial API and implementation
-	//
-
-	public static String StringSubstitutionEngine_3;
-	public static String StringSubstitutionEngine_4;
-
-	public static String StringVariableManager_26;
-	public static String StringVariableManager_27;
-
-	public static String DynamicVariable_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, VariablesMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
deleted file mode 100644
index 945dbd3..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-StringSubstitutionEngine_3=Reference to undefined variable {0}
-StringSubstitutionEngine_4=Variable {0} does not accept arguments
-
-StringVariableManager_26=Variables with the specified names are already registered.
-StringVariableManager_27=Variable named {0} already registered
-
-DynamicVariable_0=Unsupported argument {0} specified for variable {1}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
deleted file mode 100644
index 9bdda6e..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A dynamic variable is a variable whose value is computed dynamically
- * by a resolver at the time a string substitution is performed. A dynamic
- * variable is contributed by an extension.
- * <p>
- * The following is a definition of a dynamic variable that resolves to the name of the selected resource:
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.dynamicVariables"&gt;
- *    &lt;variable 
- *       name="resource_name"
- *       resolver="com.example.ResourceNameResolver"
- *       description="The name of the selected resource"
- *       supportsArgument="false"&gt;
- *    &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface. Instead, clients contributing
- * a dynamic variable provide an implementation of {@link org.eclipse.core.variables.IDynamicVariableResolver}.
- * </p>
- * @since 3.0
- */
-public interface IDynamicVariable extends IStringVariable {
-
-	/**
-	 * Returns the value of this variable when referenced with the given
-	 * argument, possibly <code>null</code>.
-	 * 
-	 * @param argument argument present in variable expression or <code>null</code>
-	 *   if none
-	 * @return value of this variable when referenced with the given argument, possibly
-	 *   <code>null</code>
-	 * @throws CoreException if unable to resolve a value for this variable
-	 */
-	public String getValue(String argument) throws CoreException;
-	
-	/**
-	 * Returns whether this variable supports an argument, as specified
-	 * by this variable's extension definition in plug-in XML.
-	 * 
-	 * @return whether this variable supports an argument
-	 */
-	public boolean supportsArgument();
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
deleted file mode 100644
index b5cefaa..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Resolves the value for a dynamic variable. A dynamic variable extension
- * contributes a resolver which must implement this interface.
- * <p>
- * Clients contributing a dynamic variable are intended to provide an implementation
- * of this interface.
- * </p>
- * @since 3.0
- */
-public interface IDynamicVariableResolver {
-
-	/**
-	 * Resolves and returns a value for the specified variable when referenced
-	 * with the given argument, possibly <code>null</code>
-	 *  
-	 * @param variable variable to resolve a value for
-	 * @param argument argument present in expression or <code>null</code> if none
-	 * @return variable value, possibly <code>null</code>
-	 * @throws CoreException if unable to resolve a value for the given variable
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException;
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
deleted file mode 100644
index 7c19550..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-
-/**
- * A variable that can be referenced in an expression, which resolves to a string
- * value. Variables are referenced in expressions via their name, in the following
- * format.
- * <pre>
- * ${varname} or ${varname:argument}
- * </pre>
- * <p>
- * A variable is identified by its name, and optionally accepts an argument. When an
- * argument is present, a colon seperates the variable name from its argument.
- * </p>
- * <p>
- * Variables can be contributed by extensions or programmatically. There are two
- * kinds of variables.
- * <ul>
- * <li><code>IValueVariable</code> - variables that have a value (with getter and setter), and
- *       accept no arguments. The value of this type of variable is resolved at the time
- *       its value is set via its setter API.</li>
- * <li><code>IDynamicVariable</code> - variables whose value is resolved at the time
- * 		a string substitution is performed by a contributed resolver. Dynamic variables
- * 		may accept an argument.</li>
- * </ul>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IStringVariable {
-
-	/**
-	 * Returns the name of this variable. A variable is uniquely identified by
-	 * its name.
-	 * 
-	 * @return variable name
-	 */
-	public String getName();
-	
-	/**
-	 * Returns a human readable description of this variable, possibly <code>null</code>
-	 * 
-	 * @return a description of this variable, or <code>null</code> if none
-	 */
-	public String getDescription();
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
deleted file mode 100644
index 1eafd63..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Registry for string variables.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IStringVariableManager {
-
-	/**
-	 * Simple identifier constant (value <code>"dynamicVariables"</code>) for the
-	 * dynamic variables extension point.
-	 */
-	public static final String EXTENSION_POINT_DYNAMIC_VARIABLES = "dynamicVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"valueVariables"</code>) for the
-	 * value variables extension point.
-	 */
-	public static final String EXTENSION_POINT_VALUE_VARIABLES = "valueVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Returns all registered variables.
-	 * 
-	 * @return a collection of all registered variables
-	 */
-	public IStringVariable[] getVariables();
-	
-	/**
-	 * Returns all registered value variables.
-	 * 
-	 * @return a collection of all registered value variables
-	 */
-	public IValueVariable[] getValueVariables();
-	
-	/**
-	 * Returns the value variable with the given name, or <code>null</code>
-	 * if none.
-	 * 
-	 * @param name variable name
-	 * @return the value variable with the given name, or <code>null</code>
-	 * if none
-	 */
-	public IValueVariable getValueVariable(String name);
-	
-	/**
-	 * Returns all registered dynamic variables.
-	 * 
-	 * @return a collection of all registered dynamic variables
-	 */
-	public IDynamicVariable[] getDynamicVariables();	
-	
-	/**
-	 * Returns the dynamic variable with the given name or <code>null</code>
-	 * if none.
-	 * 
-	 * @param name variable name
-	 * @return the dynamic variable with the given name or <code>null</code>
-	 * if none
-	 */
-	public IDynamicVariable getDynamicVariable(String name);
-    
-    /**
-     * Returns the plugin identifier of the plugin that contributed the
-     * given variable via extension or <code>null</code> if the given
-     * variable wasn't contributed via extension.
-     * 
-     * @param variable the variable
-     * @return the plugin identifier of the plugin that contributed the
-     *  given variable or <code>null</code>
-     * @since 3.1
-     */
-    public String getContributingPluginId(IStringVariable variable);
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Reports errors for references
-	 * to undefined variables (equivalent to calling
-	 * <code>performStringSubstitution(expression, true)</code>).
-	 * 
-	 * @param expression expression referencing variables
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression) throws CoreException;
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Allows the client to control
-	 * whether references to undefined variables are reported as an error (i.e.
-	 * an exception is thrown).  
-	 * 
-	 * @param expression expression referencing variables
-	 * @param reportUndefinedVariables whether a reference to an undefined variable
-	 *  is to be considered an error (i.e. throw an exception)
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException;	
-	
-	/**
-	 * Validates variables references in the given expression and reports errors
-	 * for references to undefined variables.
-	 * 
-	 * @param expression expression referencing variables
-	 * @throws CoreException if one or more referenced variables do not exist
-	 */
-	public void validateStringVariables(String expression) throws CoreException;
-	
-	/**
-	 * Returns a new value variable with the given name and description.
-	 * 
-	 * @param name variable name, cannot be <code>null</code>
-	 * @param description variable description, possibly <code>null</code>
-	 * @return a new variable
-	 * @exception CoreException if a variable already exists with the given name
-	 */
-	public IValueVariable newValueVariable(String name, String description);
-	
-	/**
-	 * Adds the given variables to the variable registry.
-	 * 
-	 * @param variables the variables to add
-	 * @throws CoreException if one or more variables to add has a name collision with
-	 *  an existing variable 
-	 */
-	public void addVariables(IValueVariable[] variables) throws CoreException;
-	
-	/**
-	 * Removes the given variables from the registry. Has no effect for unregistered
-	 * variables.
-	 * 
-	 * @param variables variables to remove
-	 */
-	public void removeVariables(IValueVariable[] variables);
-	
-	/**
-	 * Registers the given listener for value variable notifications. Has no effect
-	 * if an identical listener is already registered.
-	 *   
-	 * @param listener value variable listener to add
-	 */
-	public void addValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Removes the given listener from the list of registered value variable
-	 * listeners. Has no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener value variable listener to remove
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Convenience method that returns an expression referencing the given
-	 * variable and optional argument. For example, calling the method with
-	 * a <code>varName</code> of <code>my_var</code> and an <code>argument</code>
-	 * of <code>my_arg</code> results in the string <code>$(my_var:my_arg}</code>.
-	 * 
-	 * @param varName variable name
-	 * @param arg argument text or <code>null</code>
-	 * @return an expression referencing the given variable and
-	 *  optional argument
-	 */
-	public String generateVariableExpression(String varName, String arg);
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
deleted file mode 100644
index bb958e7..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A variable with a value that can be set and retrieved. The context in which
- * a value variable is referenced does not effect the value of the variable.
- * A value variable can be contributed by an extension or created programmatically.
- * A contributor may optionally specify an initial value for a variable, or
- * provide a delegate that will initialie the variable with a value. 
- * <p>
- * Example of a value variable contribution with an initial value, the specified
- * variable is created with the initial value "/usr/local/foo".
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initialValue="/usr/local/foo"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Example of a value variable contribution with an initializer class, the class
- * "com.example.FooLocator" will be used to initialize the value the first time
- * it's requested.
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initializerClass="com.example.FooLocator"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariable extends IStringVariable {
-
-	/**
-	 * Sets the value of this variable to the given value. A value of
-	 * <code>null</code> indicates the value of this variable is undefined.
-	 * 
-	 * @param value variable value, possibly <code>null</code>
-	 */
-	public void setValue(String value);
-	
-	/**
-	 * Returns the value of this variable, or <code>null</code> if none.
-	 * 
-	 * @return the value of this variable, or <code>null</code> if none
-	 */
-	public String getValue();
-	
-	/**
-	 * Returns whether this variable was contributed by an extension.
-	 * 
-	 * @return whether this variable was contributed by an extension
-	 */
-	public boolean isContributed();
-	
-	/**
-	 * Sets the description of this variable to the given value.
-	 * 
-	 * @param description variable description, possibly <code>null</code>
-	 */
-	public void setDescription(String description);	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
deleted file mode 100644
index 3621445..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * Value variable initializers compute an initial value for a value
- * variable contributed by an extension, which is not defined with an initial
- * value. This provides a mechnism for programatically computing the initial
- * value of a value variable.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariableInitializer {
-	/**
-	 * Initializes the specified variable. 
-	 * 
-	 * @param variable variable to initialize
-	 */
-	public void initialize(IValueVariable variable);
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
deleted file mode 100644
index 37dac25..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A string variable listener is notified of variables as they are added
- * and removed from the string variable manager. As well, listeners are
- * notified when a value variable changes value.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariableListener {
-	
-	/**
-	 * Notification the given variables have been added to the variable
-	 * manager.
-	 * 
-	 * @param variables added variables
-	 */
-	public void variablesAdded(IValueVariable[] variables);
-	
-	/**
-	 * Notification the given variables have been removed from the variable
-	 * manager.
-	 * 
-	 * @param variables removed variables
-	 */
-	public void variablesRemoved(IValueVariable[] variables);
-	
-	/**
-	 * Notification the given variables have been changed value.
-	 * 
-	 * @param variables changed variables
-	 */
-	public void variablesChanged(IValueVariable[] variables);
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
deleted file mode 100644
index 41f6624..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.variables;
-
-import org.eclipse.core.internal.variables.StringVariableManager;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * The plug-in runtime class for the Core Variables plug-in.
- * @since 3.0
- */
-public class VariablesPlugin extends Plugin {
-
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
-	/**
-	 * Status code indicating a variable reference cycle error.
-	 */
-	public static final int REFERENCE_CYCLE_ERROR = 130;
-	
-	/**
-	 * The single instance of this plug-in runtime class.
-	 */
-	private static VariablesPlugin plugin;
-
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.core.variables"</code>)
-	 * for the Core Variables plug-in.
-	 */
-	public static final String PI_CORE_VARIABLES = "org.eclipse.core.variables"; //$NON-NLS-1$
-
-
-	/** 
-	 * Constructs an instance of this plug-in runtime class.
-	 * <p>
-	 * An instance of this plug-in runtime class is automatically created 
-	 * when the facilities provided by the Variables plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 */
-	public VariablesPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns this plug-in instance.
-	 *
-	 * @return the single instance of this plug-in runtime class
-	 */
-	public static VariablesPlugin getDefault() {
-		return plugin;
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(new Status(IStatus.ERROR, PI_CORE_VARIABLES, INTERNAL_ERROR, "Error logged from Core Variables: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs the given message with this plug-in's log and the given
-	 * throwable or <code>null</code> if none.
-	 * @param message the message to log
-	 * @param throwable the exception that occurred or <code>null</code> if none
-	 */
-	public static void logMessage(String message, Throwable throwable) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable));
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_CORE_VARIABLES;
-	}
-	
-	/**
-	 * Returns the string variable manager.
-	 * 
-	 * @return the string variable manager
-	 */
-	public IStringVariableManager getStringVariableManager() {
-		return StringVariableManager.getDefault();
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html b/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
deleted file mode 100644
index 0d27de0..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for defining and contributing variables for the purpose of 
-  string substitution.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support the definition and 
-  contribution of variables for the purpose of string substitution. The plug-in 
-  supports the recursive replacement of variables referenced by name in arbitrary 
-  strings with the value of the variable. Two types of variables are provided 
-  - value variables (<code>IValueVariable</code>) and dynamic variables (<code>IDynamicVariable</code>). 
-  A value variable has a simple setter and getter for its current value. A dynamic 
-  variable has an associated resolver that provides a variable's value each time 
-  it is referenced (replaced) in a string substitution. A dynamic variable may 
-  also provide an argument in its reference that can be used by its resolver to 
-  determine its substitution value.</p>
-<p>A variable manager (<code>IStringVariableManager</code>) is provided to manage 
-  the set of defined variables. Value variables may be created via API on the 
-  variable manager, or contributed via the <code>valueVariables</code> extension 
-  point. Dynamic variables must be contributed via the <code>dynamicVariables</code> 
-  extension point. The variable manager also provides change notification for 
-  value variables. The variable manager also provides an API for performing string 
-  substitution, which accepts a string, and returns a string with all variable 
-  references replaced by associated variable values.</p>
-<p>Variables are referenced in strings by enclosing them in braces, preceded with 
-  a dollar sign. For example, consider a variable defined with the name <code>foo</code>, 
-  and referenced in the following string: <code>&quot;abc${foo}ghi&quot;</code>. 
-  If the value of <code>foo</code> is <code>&quot;def&quot;</code>, the result 
-  of a string substitution would be <code>&quot;abcdefghi&quot;</code>. In the 
-  case of a dynamic variable, an (optional) argument is supplied by appending 
-  a colon and argument value after the variable name. For example <code>&quot;${foo:bar}&quot;</code>. 
-  In this case, the resolver associated with <code>foo</code> would be provided 
-  with the referenced argument (<code>bar</code>) when asked to resolve a value 
-  for the variable <code>foo</code>. </p>
-</body>
-</html>
diff --git a/org.eclipse.debug.ui/.classpath b/org.eclipse.debug.ui/.classpath
deleted file mode 100644
index 95b3cfa..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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.debug.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 d5fdd2d..0000000
--- a/org.eclipse.debug.ui/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.debug.ui/debug = false
-org.eclipse.debug.ui/debug/viewers/model = false
-org.eclipse.debug.ui/debug/viewers/viewer = false
-org.eclipse.debug.ui/debug/viewers/deltas = false
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/.settings/org.eclipse.core.resources.prefs b/org.eclipse.debug.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 46dcee1..0000000
--- a/org.eclipse.debug.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Mar 09 10:33:21 CST 2006
-eclipse.preferences.version=1
-encoding//ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.properties=8859_1
-encoding//ui/org/eclipse/debug/internal/ui/importexport/breakpoints/BreakpointImportExport.properties=8859_1
diff --git a/org.eclipse.debug.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 11f20e2..0000000
--- a/org.eclipse.debug.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 16 16:42:14 CST 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.debug.ui/.settings/org.eclipse.pde.prefs b/org.eclipse.debug.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index e04e1c4..0000000
--- a/org.eclipse.debug.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Fri Nov 26 10:33:54 CST 2004

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

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

-compilers.p.deprecated=1

-compilers.p.unknown-element=1

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

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

-eclipse.preferences.version=1

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

-compilers.p.unresolved-import=0

-compilers.use-project=true

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

diff --git a/org.eclipse.debug.ui/META-INF/MANIFEST.MF b/org.eclipse.debug.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 9ba05c8..0000000
--- a/org.eclipse.debug.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,60 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.debug.ui; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.debug.internal.ui.DebugUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.debug.internal.ui;x-internal:=true,
- org.eclipse.debug.internal.ui.actions;x-internal:=true,
- org.eclipse.debug.internal.ui.actions.breakpointGroups;x-internal:=true,
- org.eclipse.debug.internal.ui.actions.breakpoints;x-internal:=true,
- org.eclipse.debug.internal.ui.actions.context;x-internal:=true,
- org.eclipse.debug.internal.ui.actions.expressions;x-internal:=true,
- org.eclipse.debug.internal.ui.actions.provisional;x-internal:=true,
- org.eclipse.debug.internal.ui.actions.variables;x-internal:=true,
- org.eclipse.debug.internal.ui.contexts;x-internal:=true,
- org.eclipse.debug.internal.ui.contexts.provisional;x-internal:=true,
- org.eclipse.debug.internal.ui.elements.adapters;x-internal:=true,
- org.eclipse.debug.internal.ui.importexport.breakpoints;x-internal:=true,
- org.eclipse.debug.internal.ui.launchConfigurations;x-internal:=true,
- org.eclipse.debug.internal.ui.memory;x-internal:=true,
- org.eclipse.debug.internal.ui.memory.provisional;x-internal:=true,
- org.eclipse.debug.internal.ui.preferences;x-internal:=true,
- org.eclipse.debug.internal.ui.sourcelookup;x-internal:=true,
- org.eclipse.debug.internal.ui.sourcelookup.browsers;x-internal:=true,
- org.eclipse.debug.internal.ui.stringsubstitution;x-internal:=true,
- org.eclipse.debug.internal.ui.viewers;x-internal:=true,
- org.eclipse.debug.internal.ui.viewers.provisional;x-internal:=true,
- org.eclipse.debug.internal.ui.viewers.update;x-internal:=true,
- org.eclipse.debug.internal.ui.views;x-internal:=true,
- org.eclipse.debug.internal.ui.views.breakpoints;x-internal:=true,
- org.eclipse.debug.internal.ui.views.console;x-internal:=true,
- org.eclipse.debug.internal.ui.views.expression;x-internal:=true,
- org.eclipse.debug.internal.ui.views.launch;x-internal:=true,
- org.eclipse.debug.internal.ui.views.memory;x-internal:=true,
- org.eclipse.debug.internal.ui.views.memory.renderings;x-internal:=true,
- org.eclipse.debug.internal.ui.views.registers;x-internal:=true,
- org.eclipse.debug.internal.ui.views.variables;x-internal:=true,
- org.eclipse.debug.ui,
- org.eclipse.debug.ui.actions,
- org.eclipse.debug.ui.console,
- org.eclipse.debug.ui.memory,
- org.eclipse.debug.ui.sourcelookup
-Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.variables;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.console;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.help;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.editors;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
-Bundle-ClassPath: .
-Import-Package: com.ibm.icu.text
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.debug.ui/about.html b/org.eclipse.debug.ui/about.html
deleted file mode 100644
index 1aeb16b..0000000
--- a/org.eclipse.debug.ui/about.html
+++ /dev/null
@@ -1,27 +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>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="/">http://www.eclipse.org</a>.</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 6cf5232..0000000
--- a/org.eclipse.debug.ui/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.xml,\
-               plugin.properties,\
-               .,\
-               about.html,\
-               META-INF/,\
-               .options
-
-source.. = ui/
-src.includes = about.html,\
-               schema/
diff --git a/org.eclipse.debug.ui/component.xml b/org.eclipse.debug.ui/component.xml
deleted file mode 100644
index dbffd86..0000000
--- a/org.eclipse.debug.ui/component.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Eclipse Platform Debug">
- <plugin id="org.eclipse.debug.ui" />
-
- <package name="org.eclipse.debug.ui">
- 	<type name="AbstractBreakpointOrganizerDelegate" />
- 	<type name="AbstractDebugView" />
- 	<type name="AbstractLaunchConfigurationTab" />
- 	<type name="AbstractLaunchConfigurationTabGroup" />
- 	<type name="BreakpointTypeCategory" />
- 	<type name="CommonTab" subclass="false" />
- 	<type name="DebugElementWorkbenchAdapter" />
- 	<type name="DebugPopup" instantiate="false"/>
- 	<type name="DebugUITools" instantiate="false" subclass="false" />
- 	<type name="DeferredDebugElementWorkbenchAdapter" />
- 	<type name="EnvironmentTab" subclass="false" />
- 	<type name="IBreakpointOrganizerDelegate" />
- 	<type name="IBreakpointTypeCategory" />
- 	<type name="IDebugEditorPresentation" />
- 	<type name="IDebugModelPresentation" />
- 	<type name="IDebugUIConstants" implement="false" />
- 	<type name="IDebugView" />
- 	<type name="ILaunchConfigurationDialog" implement="false" />
- 	<type name="ILaunchConfigurationTab" />
- 	<type name="ILaunchConfigurationTabGroup" />
- 	<type name="ILaunchGroup" implement="false" />
- 	<type name="ILaunchShortcut" />
- 	<type name="InspectPopupDialog" subclass="false"/>
- 	<type name="ISourcePresentation" />
- 	<type name="IValueDetailListener" />
- 	<type name="RefreshTab" subclass="false" />
- 	<type name="StringVariableSelectionDialog" subclass="false" />
- </package>
- <package name="org.eclipse.debug.ui.actions">
-	<type name="AbstractLaunchHistoryAction" />
-	<type name="AbstractLaunchToolbarAction" />
-	<type name="ContextualLaunchAction" />
-	<type name="DebugAction" subclass="false" />
-	<type name="ExportBreakpointsOperation" subclass="false" />
-	<type name="ILaunchable" implement="false" />
-	<type name="ImportBreakpointsOperation" subclass="false" />
-	<type name="IRunToLineTarget" />
-	<type name="IToggleBreakpointsTarget" />
-	<type name="IToggleBreakpointsTargetExtension" />
-	<type name="IVariableValueEditor" />
-	<type name="LaunchAction" subclass="false" />
-	<type name="LaunchAsAction" subclass="false" />
-	<type name="LaunchShortcutsAction" />
-	<type name="OpenLaunchDialogAction" subclass="false" />
-	<type name="RulerBreakpointAction" instantiate="false" subclass="true" />
-	<type name="RulerEnableDisableBreakpointActionDelegate" instantiate="false" subclass="false" />
-	<type name="RulerToggleBreakpointActionDelegate" instantiate="false" subclass="false" />
-	<type name="RunAction" subclass="false" />
-	<type name="RunToLineActionDelegate" instantiate="false" subclass="false" />
-	<type name="RunToLineHandler" subclass="false" />
-	<type name="ToggleBreakpointAction" subclass="false" />
-	<type name="ToggleMethodBreakpointActionDelegate" instantiate="false" subclass="false" />
-	<type name="ToggleWatchpointActionDelegate" instantiate="false" subclass="false" />
- </package>
- <package name="org.eclipse.debug.ui.console">
-	<type name="ConsoleColorProvider" />
-	<type name="FileLink" subclass="false" />
-	<type name="IConsole" implement="false" />
-	<type name="IConsoleColorProvider" />
-	<type name="IConsoleHyperlink" />
-	<type name="IConsoleLineTracker" />
-	<type name="IConsoleLineTrackerExtension" />
- </package>
- <package name="org.eclipse.debug.ui.memory">
-	<type name="AbstractMemoryRendering" />
-	<type name="AbstractMemoryRenderingBindingsProvider" />
-	<type name="AbstractTableRendering" />
-	<type name="AbstractTextRendering" />
-	<type name="IMemoryBlockTablePresentation" />
-	<type name="IMemoryRendering" />
-	<type name="IMemoryRenderingBindingsListener" />
-	<type name="IMemoryRenderingBindingsProvider" />
-	<type name="IMemoryRenderingContainer" />
-	<type name="IMemoryRenderingManager" implement="false" />
-	<type name="IMemoryRenderingSite" />
-	<type name="IMemoryRenderingSynchronizationService" />
-	<type name="IMemoryRenderingType" />
-	<type name="IMemoryRenderingTypeDelegate" />
-	<type name="MemoryRenderingElement" />
- </package>
- <package name="org.eclipse.debug.ui.sourcelookup">
-	<type name="AbstractSourceContainerBrowser" />
-	<type name="ISourceContainerBrowser" />
-	<type name="ISourceLookupResult" implement="false" />
-	<type name="SourceLookupDialog" subclass="false" />
-	<type name="SourceLookupTab" subclass="false" />
-	<type name="WorkingSetSourceContainer" subclass="false" />
-	<type name="CommonSourceNotFoundEditor" />
-	<type name="CommonSourceNotFoundEditorInput" />
- </package>  
- 
- <component-depends unrestricted="true"/>
-
-</component>
\ No newline at end of file
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/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/clear_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/clear_co.gif
deleted file mode 100644
index 6775edf..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/clear_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/display_selected_mb.gif b/org.eclipse.debug.ui/icons/full/dlcl16/display_selected_mb.gif
deleted file mode 100644
index db124cb..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/display_selected_mb.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/export_brkpts.gif b/org.eclipse.debug.ui/icons/full/dlcl16/export_brkpts.gif
deleted file mode 100644
index 57e9ffd..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/export_brkpts.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/filter_ps.gif b/org.eclipse.debug.ui/icons/full/dlcl16/filter_ps.gif
deleted file mode 100644
index 6c54da9..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/import_brkpts.gif b/org.eclipse.debug.ui/icons/full/dlcl16/import_brkpts.gif
deleted file mode 100644
index e416bf0..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/import_brkpts.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/new_con.gif b/org.eclipse.debug.ui/icons/full/dlcl16/new_con.gif
deleted file mode 100644
index 8c682c0..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/new_con.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/prop_ps.gif b/org.eclipse.debug.ui/icons/full/dlcl16/prop_ps.gif
deleted file mode 100644
index 0fbf9d0..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/prop_ps.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/term_restart.gif b/org.eclipse.debug.ui/icons/full/dtool16/term_restart.gif
deleted file mode 100644
index fa0df6f..0000000
--- a/org.eclipse.debug.ui/icons/full/dtool16/term_restart.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/delete_config.gif b/org.eclipse.debug.ui/icons/full/elcl16/delete_config.gif
deleted file mode 100644
index b6922ac..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/delete_config.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/display_selected_mb.gif b/org.eclipse.debug.ui/icons/full/elcl16/display_selected_mb.gif
deleted file mode 100644
index 3637794..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/display_selected_mb.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/dissolve_group.gif b/org.eclipse.debug.ui/icons/full/elcl16/dissolve_group.gif
deleted file mode 100644
index d077125..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/dissolve_group.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/drop_to_frame.gif b/org.eclipse.debug.ui/icons/full/elcl16/drop_to_frame.gif
deleted file mode 100644
index 63a0f19..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/drop_to_frame.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/expandall.gif b/org.eclipse.debug.ui/icons/full/elcl16/expandall.gif
deleted file mode 100644
index c4a67bb..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/expandall.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/export_brkpts.gif b/org.eclipse.debug.ui/icons/full/elcl16/export_brkpts.gif
deleted file mode 100644
index c1083f8..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/export_brkpts.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/filter_ps.gif b/org.eclipse.debug.ui/icons/full/elcl16/filter_ps.gif
deleted file mode 100644
index a4c9e60..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/hierarchicalLayout.gif b/org.eclipse.debug.ui/icons/full/elcl16/hierarchicalLayout.gif
deleted file mode 100644
index 2344861..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/hierarchicalLayout.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/import_brkpts.gif b/org.eclipse.debug.ui/icons/full/elcl16/import_brkpts.gif
deleted file mode 100644
index ffcd7b8..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/import_brkpts.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/new_con.gif b/org.eclipse.debug.ui/icons/full/elcl16/new_con.gif
deleted file mode 100644
index 9d05088..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/new_con.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/pin.gif b/org.eclipse.debug.ui/icons/full/elcl16/pin.gif
deleted file mode 100644
index ec50b70..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/pin.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/prop_ps.gif b/org.eclipse.debug.ui/icons/full/elcl16/prop_ps.gif
deleted file mode 100644
index 6223cfc..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/prop_ps.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/term_restart.gif b/org.eclipse.debug.ui/icons/full/etool16/term_restart.gif
deleted file mode 100644
index 88276ce..0000000
--- a/org.eclipse.debug.ui/icons/full/etool16/term_restart.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_grp.gif b/org.eclipse.debug.ui/icons/full/obj16/brkp_grp.gif
deleted file mode 100644
index 173661c..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/brkp_grp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/brkp_grp_disabled.gif b/org.eclipse.debug.ui/icons/full/obj16/brkp_grp_disabled.gif
deleted file mode 100644
index 5ea466b..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/brkp_grp_disabled.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/brkp_type.gif b/org.eclipse.debug.ui/icons/full/obj16/brkp_type.gif
deleted file mode 100644
index 31c40ea..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/brkp_type.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 0f07692..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/file_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/file_obj.gif
deleted file mode 100644
index 7ccc6a7..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/file_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 d58bf89..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 34ac8ac..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/read_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/read_obj.gif
deleted file mode 100644
index c876ebd..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/read_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/read_obj_disabled.gif b/org.eclipse.debug.ui/icons/full/obj16/read_obj_disabled.gif
deleted file mode 100644
index 0ee65cd..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/read_obj_disabled.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/obj16/write_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/write_obj.gif
deleted file mode 100644
index feb8e94..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/write_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/write_obj_disabled.gif b/org.eclipse.debug.ui/icons/full/obj16/write_obj_disabled.gif
deleted file mode 100644
index 2ddc3b8..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/write_obj_disabled.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/skip_breakpoint_ov.gif b/org.eclipse.debug.ui/icons/full/ovr16/skip_breakpoint_ov.gif
deleted file mode 100644
index 61c75c2..0000000
--- a/org.eclipse.debug.ui/icons/full/ovr16/skip_breakpoint_ov.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/adddir_wiz.png b/org.eclipse.debug.ui/icons/full/wizban/adddir_wiz.png
deleted file mode 100644
index 684431c..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/adddir_wiz.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/addsrcloc_wiz.png b/org.eclipse.debug.ui/icons/full/wizban/addsrcloc_wiz.png
deleted file mode 100644
index 6a8d691..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/addsrcloc_wiz.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/debug_wiz.png b/org.eclipse.debug.ui/icons/full/wizban/debug_wiz.png
deleted file mode 100644
index d238c0b..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/debug_wiz.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/editdir_wiz.png b/org.eclipse.debug.ui/icons/full/wizban/editdir_wiz.png
deleted file mode 100644
index 0b19626..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/editdir_wiz.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/edtsrclkup_wiz.png b/org.eclipse.debug.ui/icons/full/wizban/edtsrclkup_wiz.png
deleted file mode 100644
index 8dca8ee..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/edtsrclkup_wiz.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/export_brkpts_wizban.png b/org.eclipse.debug.ui/icons/full/wizban/export_brkpts_wizban.png
deleted file mode 100644
index f4d9e6d..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/export_brkpts_wizban.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/import_brkpts_wizban.png b/org.eclipse.debug.ui/icons/full/wizban/import_brkpts_wizban.png
deleted file mode 100644
index 6434b3a..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/import_brkpts_wizban.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/profile_wiz.png b/org.eclipse.debug.ui/icons/full/wizban/profile_wiz.png
deleted file mode 100644
index 7229ca0..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/profile_wiz.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/run_wiz.png b/org.eclipse.debug.ui/icons/full/wizban/run_wiz.png
deleted file mode 100644
index 16edc87..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/run_wiz.png
+++ /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 85175db..0000000
--- a/org.eclipse.debug.ui/plugin.properties
+++ /dev/null
@@ -1,353 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
-###############################################################################
-
-pluginName=Debug UI
-
-accessAction.label=&Access
-BreakpointsView.name=Breakpoints
-ConsoleColorProvidersExtensionName= Console Color Providers
-ConsoleFont.description= The font used by the debug console.
-ConsoleFont.label= Console font
-ConsoleLineTrackersExtensionName= Console Line Trackers
-LaunchingPreferencePage.name=Launching
-ViewManagementPreferencePage.name=View Management
-ConsolePreferencePage.name=Console
-DebugModelContextBindingsName=Debug Model Context Bindings
-ContextViewBindingsName=Context View Bindings
-BreakpointOrganizersName=Breakpoint Organizers
-VariableValueEditorsName=Variable Value Editors
-
-BreakpointActionSet.label=Breakpoints
-CollapseAll.label=Collapse All
-CollapseAll.tooltip= Collapse Al
-CopyToClipboardAction.label=&Copy Stack
-CopyVariablesToClipboardAction.label=Copy &Variables
-CopyExpressionsToClipboardAction.label=Copy &Expressions
-CopyRegistersToClipboardAction.label=Copy &Registers
-DebugActionSet.label=Debug
-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
-DebugLaunchGroup.title=Select or configure an application to debug
-DebugModelPresentationExtensionName=Debug Model Presentation
-
-DebugPerspective.name=Debug
-DebugPerspective.description=This Debug perspective is designed to support application debugging.  It incorperates views for displaying the debug stack, variables and breakpoint management.
-
-command.openDebugPerspective.description = Open the debug perspective
-DebugPreferencePage.name=Run/Debug
-DebugView.name=Debug
-DebugViewsCategory.name=Debug
-DebugWithConfigurationAction.label=Debu&g 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
-EnableBreakpointsAction.label=&Enable
-ExpandAll.label=Expand All
-ExpandAll.tooltip=Expand All
-ExpressionView.name=Expressions
-GroupBy.label=&Group By
-GroupBy.tooltip=Show
-LinkWithDebugView.label=Link with Debug View
-LinkWithDebugView.tooltip=Link with Debug View
-LaunchActionSet.label=Launch
-LaunchConfigurationTabGroupExtensionName=Launch Configuration Tab Group
-LaunchShortcutsName=Launch Shortcut
-LaunchConfigurationTypeImageExtensionName=Launch Configuration Type Image 
-LaunchGroupsExtensionName=Launch Groups
-modificationAction.label=&Modification
-OpenDebugConfigurations.label=De&bug...
-OpenRunConfigurations.label=Ru&n...
-OpenProfileConfigurations.label=&Profile...
-processPropertyPageName=Process Information
-ProfileLaunchGroup.label=&Profile
-ProfileLaunchGroup.title=Select or configure an application to 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.label=Remo&ve All Breakpoints
-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
-RunDropDownAction.label=&Run
-RunMenu.label=&Run
-RunLastAction.label=&Run Last Launched
-RunLaunchGroup.label=Ru&n
-RunLaunchGroup.title=Select or configure an application to run
-RunHistoryMenuAction.label=Run His&tory
-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
-StepOverAction.label=Step &Over
-StepReturnAction.label=Step Ret&urn
-StringVariablePresentationsName=String Variable Presentations
-SuspendAction.label=&Suspend
-TerminateAction.label=&Terminate
-ToggleBreakpointAction.label=Toggle Line Brea&kpoint
-ToggleMethodBreakpointAction.label=Toggle &Method Breakpoint
-ToggleWatchpointAction.label=Toggle &Watchpoint
-VariablesView.name=Variables
-StringVariablePreferencePage.name=String Substitution
-ToggleMemoryMonitorsPaneAction.name = Toggle Memory Monitors Pane
-ToggleSplitPaneAction.name = Toggle Split Pane
-LinkRenderingPanesAction.name = Link Memory Rendering Panes
-AddRemoveRenderingMenu.name = Add/Remove Rendering
-AddRenderingAction.name = Add Rendering
-RemoveRenderingAction.name = Remove Rendering
-PerspectivePreferencePage.name = Perspectives
-LaunchConfigurationsPage.name = Launch Configurations
-
-#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
-DetailPaneMaxLengthAction.label=&Detail Pane...
-DetailPaneMaxLengthAction.tooltip=Configure detail pane settings
-
-Context.debugging.description= Debugging Programs
-Context.debugging.name= Debugging
-
-Context.console.description= In Console
-Context.console.name= In Console
-
-Context.memoryview.description = In Memory View
-Context.memoryview.name = In Memory View
-
-ActionDefinition.eof.name= EOF
-ActionDefinition.eof.description= Send end of file
-
-ActionDefinition.addMemoryBlock.name= Add Memory Block
-ActionDefinition.addMemoryBlock.description=Add Memory block
-
-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.terminateAndRelaunch.name=Terminate and Relaunch
-ActionDefinition.terminateAndRelaunch.description=Terminate and Relaunch
-
-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.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.removeAllBreakpoints.name=Remove All Breakpoints
-ActionDefinition.removeAllBreakpoints.description=Removes all breakpoints
-
-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=S&kip 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=Create Wa&tch Expression
-
-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 As
-RunContextMenu.label=&Run As
-ProfileContextMenu.label=&Profile As
-
-containerName.workingSet = Working set
-sourceNotFoundEditorName=Source Not Found Editor
-
-debugPresentation.label= Debug
-
-MemoryViewName = Memory
-
-MemoryViewTableFontDefinition.label=Memory view table font
-MemoryViewTableFontDefinition.description=The font used in the table of the memory view.
-
-RawHex = Hex
-ASCIIName = ASCII
-SignedIntegerName = Signed Integer
-UnsignedIntegerName = Unsigned Integer
-Endianess = Endianess
-BigEndianActionName = Big Endian
-LittleEndianActionName = Little Endian
-RestoreDefEndianessActionName = Restore Default
-
-ViewManagementAction.label=&View Management...
-
-setDefaultGroup.label=&Select Default Working Set...
-setDefaultGroup.tooltip=Select Default Working Set
-clearDefaultGroup.label=&Deselect Default Working Set
-clearDefaultGroup.tooltip=Deselect Default Working Set
-workingSets.label=&Working Sets...
-workingSets.tooltip=Manage Working Sets
-
-editGroup.label=&Edit Working Set...
-ToggleDefault.label=Defaul&t Working Set
-
-Project.label=Projects
-Project.others=Others (no project)
-File.label=Files
-File.others=Others (no file)
-BreakpointType.label=Breakpoint Types
-BreakpointType.others=Others (type unspecified)
-WorkingSet.label=Resource Working Sets
-WorkingSet.others=Others (no working set)
-BreakpointWorkingSet.label=Breakpoint Working Sets
-BreakpointWorkingSet.others=Others (no working set)
-BreakpointWorkingSet.name=Breakpoint
-
-memoryRenderingsExtensionPointName = Memory Renderings
-TableRenderingPrefActionName = &Table Renderings Preferences...
-
-
-NewMemoryViewAction.label=New Memory View
-PinMemoryBlockAction.label=Pin Memory Monitor
-TableRenderingInfo.label = Rendering Selection
-
-preferenceKeywords.general=run debug breakpoints variables color
-preferenceKeywords.console=console stdout stderr color
-preferenceKeywords.launching=launching build
-preferenceKeywords.stringSubstitution=variables
-preferenceKeywords.viewManagement=views
-preferenceKeywords.perspective=perspectives switching assign automatic run debug
-preferenceKeywords.launchConfigurations=filters launch migration configurations run debug
-
-
-exportBreakpoints.label=E&xport Breakpoints...
-importBreakpoints.label=I&mport Breakpoints...
-exportBreakpoints.name=Breakpoints
-importBreakpoints.description=Import breakpoints from the local file system.
-exportBreakpoints.description=Export breakpoints to the local file system.
-
-switchMemoryBlock.label = Switch &Memory Monitor
-toggleMemoryMonitorsPane.label = Toggle Memory Monitors Pane
-toggleMemoryMonitorsPane.description = Toggle visibility of the Memory Monitors Pane
-nextMemoryBlockCommand.label = Next Memory Monitor
-nextMemoryBlockCommand.description = Show renderings from next memory monitor.
-memoryViewPrefAction.label = &Preferences...
-resetMemoryMonitorAction.label = &Reset
-
-ConsolePreferencesAction.label = &Preferences...
-ConsolePreferencesAction.tooltip = Opens the console's Preferences Page
-
-command.description.0 = Go to Address
-command.name.0 = Go to Address
-context.description.0 = In Table Memory Rendering
-context.name.0 = In Table MemoryRendering
\ 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 e596164..0000000
--- a/org.eclipse.debug.ui/plugin.xml
+++ /dev/null
@@ -1,2320 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- 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"/>
-   <extension-point id="memoryRenderings" name="%memoryRenderingsExtensionPointName" schema="schema/memoryRenderings.exsd"/>
-   <extension-point id="breakpointOrganizers" name="%BreakpointOrganizersName" schema="schema/breakpointOrganizers.exsd"/>
-   <extension-point id="variableValueEditors" name="%VariableValueEditorsName" schema="schema/variableValueEditors.exsd"/>
-
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%DebugPerspective.name"
-            icon="$nl$/icons/full/eview16/debug_persp.gif"
-            class="org.eclipse.debug.internal.ui.DebugPerspectiveFactory"
-            id="org.eclipse.debug.ui.DebugPerspective">
-         <description>
-            %DebugPerspective.description
-         </description>
-      </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="$nl$/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="$nl$/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="$nl$/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="$nl$/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="$nl$/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
-            allowMultiple="true"
-            category="org.eclipse.debug.ui"
-            class="org.eclipse.debug.internal.ui.views.memory.MemoryView"
-            icon="$nl$/icons/full/eview16/memory_view.gif"
-            id="org.eclipse.debug.ui.MemoryView"
-            name="%MemoryViewName">
-      </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">
-         <keywordReference id="org.eclipse.debug.ui.general"/>
-      </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">
-         <keywordReference id="org.eclipse.debug.ui.launching"/>
-      </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">
-         <keywordReference id="org.eclipse.debug.ui.viewManagement"/>
-      </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">
-         <keywordReference id="org.eclipse.debug.ui.console"/>
-      </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">
-         <keywordReference id="org.eclipse.debug.ui.stringSubstitution"/>
-      </page>
-      <page
-            category="org.eclipse.debug.ui.DebugPreferencePage"
-            class="org.eclipse.debug.internal.ui.preferences.PerspectivePreferencePage"
-            id="org.eclipse.debug.ui.PerspectivePreferencePage"
-            name="%PerspectivePreferencePage.name">
-         <keywordReference id="org.eclipse.debug.ui.perspectivesPref"/>
-      </page>
-      <page
-            category="org.eclipse.debug.ui.LaunchingPreferencePage"
-            class="org.eclipse.debug.internal.ui.preferences.LaunchConfigurationsPreferencePage"
-            id="org.eclipse.debug.ui.LaunchConfigurations"
-            name="%LaunchConfigurationsPage.name">
-         <keywordReference id="org.eclipse.debug.ui.launchconfigurations"/>
-      </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="$nl$/icons/full/elcl16/stepbystep_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.context.ToggleStepFiltersActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.ToggleStepFilters"
-               disabledIcon="$nl$/icons/full/dlcl16/stepbystep_co.gif"
-               icon="$nl$/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="$nl$/icons/full/dlcl16/runtoline_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/stepreturn_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.context.StepReturnActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.StepReturn"
-               disabledIcon="$nl$/icons/full/dlcl16/stepreturn_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/stepover_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.context.StepOverActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.StepOver"
-               disabledIcon="$nl$/icons/full/dlcl16/stepover_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/stepinto_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.context.StepIntoActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.StepInto"
-               disabledIcon="$nl$/icons/full/dlcl16/stepinto_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/terminate_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.context.TerminateActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.Terminate"
-               disabledIcon="$nl$/icons/full/dlcl16/terminate_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/suspend_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.context.SuspendActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.Suspend"
-               disabledIcon="$nl$/icons/full/dlcl16/suspend_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/resume_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.context.ResumeActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.Resume"
-               disabledIcon="$nl$/icons/full/dlcl16/resume_co.gif"
-               icon="$nl$/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.OpenRunConfigurations"
-               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"
-               style="pulldown"
-               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"
-               style="pulldown"
-               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="$nl$/icons/full/elcl16/debuglast_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.DebugLastAction"
-               definitionId="org.eclipse.debug.ui.commands.DebugLast"
-               disabledIcon="$nl$/icons/full/dlcl16/debuglast_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/runlast_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.RunLastAction"
-               definitionId="org.eclipse.debug.ui.commands.RunLast"
-               disabledIcon="$nl$/icons/full/dlcl16/runlast_co.gif"
-               icon="$nl$/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="$nl$/icons/full/etool16/run_exc.gif"
-               class="org.eclipse.debug.internal.ui.actions.RunToolbarAction"
-               disabledIcon="$nl$/icons/full/dtool16/run_exc.gif"
-               icon="$nl$/icons/full/etool16/run_exc.gif"
-               helpContextId="run_action_context"
-               label="%RunDropDownAction.label"
-               style="pulldown">
-         </action>
-         <action
-               definitionId="org.eclipse.debug.ui.commands.OpenDebugConfigurations"
-               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"
-               style="pulldown"
-               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"
-               style="pulldown"
-               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="$nl$/icons/full/etool16/debug_exc.gif"
-               class="org.eclipse.debug.internal.ui.actions.DebugToolbarAction"
-               disabledIcon="$nl$/icons/full/dtool16/debug_exc.gif"
-               icon="$nl$/icons/full/etool16/debug_exc.gif"
-               helpContextId="debug_action_context"
-               label="%DebugDropDownAction.label"
-               style="pulldown">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%BreakpointActionSet.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
-               disabledIcon="$nl$/icons/full/dlcl16/rem_all_co.gif"
-               label="%RemoveAllBreakpointsAction.label"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.RemoveAllBreakpointsAction"
-               icon="$nl$/icons/full/elcl16/rem_all_co.gif"
-               definitionId="org.eclipse.debug.ui.commands.RemoveAllBreakpoints"
-               style="push"
-               menubarPath="org.eclipse.ui.run/breakpointGroup"
-               id="org.eclipse.debug.ui.actions.RemoveAllBreakpoints"/>
-          <action
-               definitionId="org.eclipse.debug.ui.commands.SkipAllBreakpoints"
-               label="%SkipAllBreakpointsAction.label"
-               icon="$nl$/icons/full/elcl16/skip_brkp.gif"
-               helpContextId="skip_all_breakpoints_action_context"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.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="$nl$/icons/full/obj16/readwrite_obj.gif"
-               disabledIcon="$nl$/icons/full/obj16/readwrite_obj_disabled.gif"
-               helpContextId="toggle_watchpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.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="$nl$/icons/full/obj16/brkp_obj.gif"
-               disabledIcon="$nl$/icons/full/obj16/brkpd_obj.gif"
-               helpContextId="toggle_method_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.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="$nl$/icons/full/obj16/brkp_obj.gif"
-               disabledIcon="$nl$/icons/full/obj16/brkpd_obj.gif"
-               helpContextId="toggle_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.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="$nl$/icons/full/etool16/profile_exc.gif"
-               class="org.eclipse.debug.internal.ui.actions.ProfileToolbarAction"
-               disabledIcon="$nl$/icons/full/dtool16/profile_exc.gif"
-               icon="$nl$/icons/full/etool16/profile_exc.gif"
-               helpContextId="profile_action_context"
-               label="%ProfileDropDownAction.label"
-               style="pulldown">
-         </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"
-               style="pulldown"
-               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"
-               style="pulldown"
-               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="$nl$/icons/full/etool16/profile_exc.gif"
-               class="org.eclipse.debug.internal.ui.actions.ProfileLastAction"
-               definitionId="org.eclipse.debug.ui.commands.ProfileLast"
-               disabledIcon="$nl$/icons/full/dtool16/profile_exc.gif"
-               icon="$nl$/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">
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.removeAllTerminated"
-               toolbarPath="threadGroup"
-               hoverIcon="$nl$/icons/full/elcl16/rem_all_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.RemoveAllTerminatedAction"
-               disabledIcon="$nl$/icons/full/dlcl16/rem_all_co.gif"
-               icon="$nl$/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.toggleStepFilters"
-               toolbarPath="renderGroup"
-               hoverIcon="$nl$/icons/full/elcl16/stepbystep_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.context.ToggleStepFiltersActionDelegate"
-               disabledIcon="$nl$/icons/full/dlcl16/stepbystep_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/rem_all_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.RemoveAllBreakpointsAction"
-               disabledIcon="$nl$/icons/full/dlcl16/rem_all_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/rem_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.RemoveBreakpointAction"
-               disabledIcon="$nl$/icons/full/dlcl16/rem_co.gif"
-               icon="$nl$/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>
-         <action
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.linkWithDebugView"
-               toolbarPath="navigationGroup"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.LinkBreakpointsWithDebugViewAction"
-               icon="$nl$/icons/full/elcl16/synced.gif"
-               helpContextId="link_breakpoints_with_debug_view_action_context"
-               label="%LinkWithDebugView.label"
-               tooltip="%LinkWithDebugView.tooltip">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.collapseAll"
-               toolbarPath="navigationGroup"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.BreakpointsCollapseAllAction"
-               icon="$nl$/icons/full/elcl16/collapseall.gif"
-               helpContextId="breakpoints_collapse_all_action_context"
-               label="%CollapseAll.label"
-               tooltip="%CollapseAll.tooltip">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.expandAll"
-               toolbarPath="navigationGroup"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.BreakpointsExpandAllAction"
-               icon="$nl$/icons/full/elcl16/expandall.gif"
-               helpContextId="breakpoints_expand_all_action_context"
-               label="%ExpandAll.label"
-               tooltip="%ExpandAll.tooltip">
-         </action>
-         <action
-               label="%workingSets.label"
-               tooltip="%workingSets.tooltip"
-               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.WorkingSetsAction"
-               style="push"
-               menubarPath="defaultBreakpointGroup"
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.workingSets"/>
-         <action
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.clearDefaultBreakpointGroup"
-               menubarPath="defaultBreakpointGroup"
-               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.ClearDefaultBreakpointGroupAction"
-               helpContextId="clear_default_breakpoint_group_action_context"
-               label="%clearDefaultGroup.label"
-               tooltip="%clearDefaultGroup.tooltip">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.setDefaultBreakpointGroup"
-               menubarPath="defaultBreakpointGroup"
-               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.SetDefaultBreakpointGroupAction"
-               icon="$nl$/icons/full/obj16/brkp_grp.gif"
-               helpContextId="set_default_breakpoint_group_action_context"
-               label="%setDefaultGroup.label"
-               tooltip="%setDefaultGroup.tooltip">
-         </action>         
-         <action
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.groupByAction"
-               menubarPath="defaultBreakpointGroup"
-               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.GroupBreakpointsByAction"
-               helpContextId="group_breakpoints_by_action_context"
-               label="%GroupBy.label"
-               tooltip="%GroupBy.tooltip">
-         </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>
-         <action
-               class="org.eclipse.debug.internal.ui.views.variables.MaxDetailsLengthAction"
-               helpContextId="detail_pane_max_length_action_context"
-               id="org.eclipse.debug.ui.variableViewActions.pulldown.MaxDetailsLength"
-               label="%DetailPaneMaxLengthAction.label"
-               menubarPath="viewActions"
-               style="push"
-               tooltip="%DetailPaneMaxLengthAction.tooltip"/>
-      </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="$nl$/icons/full/elcl16/rem_all_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.expressions.RemoveAllExpressionsAction"
-               disabledIcon="$nl$/icons/full/dlcl16/rem_all_co.gif"
-               icon="$nl$/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="$nl$/icons/full/elcl16/rem_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.expressions.RemoveExpressionAction"
-               disabledIcon="$nl$/icons/full/dlcl16/rem_co.gif"
-               icon="$nl$/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>
-         <action
-               class="org.eclipse.debug.internal.ui.views.variables.MaxDetailsLengthAction"
-               helpContextId="detail_pane_max_length_action_context"
-               id="org.eclipse.debug.ui.expresssionsView.pulldown.MaxDetailsLength"
-               label="%DetailPaneMaxLengthAction.label"
-               menubarPath="viewActions"
-               style="push"
-               tooltip="%DetailPaneMaxLengthAction.tooltip"/>         
-      </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.registersView.toolbar.detailPaneWordWrap">
-         </action>
-		 <action
-               class="org.eclipse.debug.internal.ui.views.variables.MaxDetailsLengthAction"
-               helpContextId="detail_pane_max_length_action_context"
-               id="org.eclipse.debug.ui.registersView.pulldown.MaxDetailsLength"
-               label="%DetailPaneMaxLengthAction.label"
-               menubarPath="viewActions"
-               style="push"
-               tooltip="%DetailPaneMaxLengthAction.tooltip"/>         
-      </viewContribution>
-      <viewContribution
-            targetID="org.eclipse.debug.ui.MemoryView"
-            id="org.eclipse.debug.ui.memoryView.toolbar">
-         <action
-               class="org.eclipse.debug.internal.ui.views.memory.PinMemoryBlockAction"
-               helpContextId="PinMemoryBlockAction_context"
-               icon="$nl$/icons/full/elcl16/pin.gif"
-               id="org.eclipse.debug.ui.PinMemoryBlockAction"
-               label="%PinMemoryBlockAction.label"
-               state="false"
-               style="toggle"
-               toolbarPath="additions"
-               tooltip="%PinMemoryBlockAction.label"/>
-         <action
-               class="org.eclipse.debug.internal.ui.views.memory.NewMemoryViewAction"
-               helpContextId="NewMemoryViewAction_context"
-               icon="$nl$/icons/full/elcl16/new_con.gif"
-               id="org.eclipse.debug.ui.NewMemoryViewAction"
-               label="%NewMemoryViewAction.label"
-               style="push"
-               toolbarPath="additions"
-               tooltip="%NewMemoryViewAction.label"/>
-         <action
-               disabledIcon="$nl$/icons/full/dlcl16/var_cntnt_prvdr.gif"
-               hoverIcon="$nl$/icons/full/elcl16/var_cntnt_prvdr.gif"
-               toolbarPath="MemoryMonitorsGroup"
-               label="%ToggleMemoryMonitorsPaneAction.name"
-               tooltip="%ToggleMemoryMonitorsPaneAction.name"
-               class="org.eclipse.debug.internal.ui.views.memory.ToggleMemoryMonitorsAction"
-               icon="$nl$/icons/full/elcl16/var_cntnt_prvdr.gif"
-               style="toggle"
-               id="org.eclipse.debug.ui.togglemonitors"/>
-         <action
-               disabledIcon="$nl$/icons/full/dlcl16/synced.gif"
-               hoverIcon="$nl$/icons/full/elcl16/synced.gif"
-               toolbarPath="RenderingPanesGroup"
-               label="%LinkRenderingPanesAction.name"
-               tooltip="%LinkRenderingPanesAction.name"
-               icon="$nl$/icons/full/elcl16/synced.gif"
-               class="org.eclipse.debug.internal.ui.views.memory.LinkRenderingPanesAction"
-               style="toggle"
-               id="org.eclipse.debug.ui.linkrenderingpanes"/>
-         <action
-               class="org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingPrefAction"
-               helpContextId="TableRenderingPrefAction_context"
-               id="org.eclipse.debug.ui.tablerendering.preferencesaction"
-               label="%TableRenderingPrefActionName"
-               menubarPath="additions"
-               style="push"
-               tooltip="%TableRenderingPrefActionName"/>
-         <action
-               disabledIcon="$nl$/icons/full/dlcl16/det_pane_right.gif"
-               hoverIcon="$nl$/icons/full/elcl16/det_pane_right.gif"
-               toolbarPath="RenderingPanesGroup"
-               label="%ToggleSplitPaneAction.name"
-               tooltip="%ToggleSplitPaneAction.name"
-               icon="$nl$/icons/full/elcl16/toggledetailpane_co.gif"
-               class="org.eclipse.debug.internal.ui.views.memory.ToggleSplitPaneAction"
-               style="toggle"
-               id="org.eclipse.debug.ui.togglesplitpane"/>
-         <action
-               class="org.eclipse.debug.internal.ui.views.memory.SwitchMemoryBlockAction"
-               disabledIcon="$nl$/icons/full/dlcl16/display_selected_mb.gif"
-               helpContextId="switchMemoryBlockAction_context"
-               hoverIcon="$nl$/icons/full/elcl16/display_selected_mb.gif"
-               icon="$nl$/icons/full/elcl16/display_selected_mb.gif"
-               id="org.eclipse.debug.ui.switchMemoryBlock"
-               label="%switchMemoryBlock.label"
-               toolbarPath="switchMonitorGroup"
-               tooltip="%switchMemoryBlock.label"/>
-         <action
-               class="org.eclipse.debug.internal.ui.views.memory.MemoryViewPrefAction"
-               helpContextId="MemoryViewPreferences_context"
-               id="org.eclipse.debug.ui.memoryViewPreferencesAction"
-               label="%memoryViewPrefAction.label"
-               menubarPath="additions"
-               style="push"
-               tooltip="%memoryViewPrefAction.label"/>
-      </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.expressions.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="$nl$/icons/full/etool16/watch_exp.gif"
-               helpContextId="variable_watch_action_context"
-               class="org.eclipse.debug.internal.ui.actions.expressions.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.expressions.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.expressions.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.expressions.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.expressions.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="$nl$/icons/full/etool16/watch_exp.gif"
-               helpContextId="add_watch_expression_context"
-               class="org.eclipse.debug.internal.ui.actions.expressions.AddWatchExpressionAction"
-               tooltip="%addWatchExpressionAction.tooltip"
-               menubarPath="additions"
-               id="org.eclipse.debug.ui.expressionViewActions.AddWatchExpression">
-         </action>
-      </viewerContribution>
-<!-- Watchpoint actions -->      
-      <objectContribution
-            objectClass="org.eclipse.debug.core.model.IWatchpoint"
-            id="org.eclipse.debug.ui.WatchpointToggleActions">
-         <action
-               label="%accessAction.label"
-               helpContextId="access_toggle_action_context"
-               state="false"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.AccessWatchpointToggleAction"
-               menubarPath="emptyBreakpointGroup"
-               enablesFor="+"
-               id="org.eclipse.debug.ui.actions.AccessToggle">
-         </action>
-         <action
-               label="%modificationAction.label"
-               helpContextId="modification_toggle_action_context"
-               state="false"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.ModificationWatchpointToggleAction"
-               menubarPath="emptyBreakpointGroup"
-               enablesFor="+"
-               id="org.eclipse.debug.ui.actions.ModificationToggle">
-         </action>
-      </objectContribution>
-<!-- Contributions to Debug View Popup Menu -->
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.DebugView"
-            id="org.eclipse.debug.ui.debugview.popupMenu">
-
-         <action
-               label="%CopyToClipboardAction.label"
-               icon="$nl$/icons/full/elcl16/copy_edit_co.gif"
-               definitionId="org.eclipse.ui.edit.copy"
-               helpContextId="copy_to_clipboard_action_context"
-               class="org.eclipse.debug.internal.ui.actions.CopyToClipboardActionDelegate"
-               menubarPath="editGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.copyToClipboard">
-         </action>
-
-
-         <action
-               label="%RelaunchAction.label"
-               icon="$nl$/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="%RemoveAllTerminatedAction.label"
-               icon="$nl$/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="%StepWithFiltersAction.label"
-               icon="$nl$/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.context.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.breakpointGroupActions">
-         <visibility>
-            <objectClass
-               name="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer">
-            </objectClass>
-         </visibility>
-         <action
-               label="%editGroup.label"
-               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.EditBreakpointGroupAction"
-               menubarPath="breakpointGroupGroup"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.actions.editBreakpointGroup">
-         </action>
-         <action
-               label="%ToggleDefault.label"
-               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.ToggleDefaultGroupAction"
-               menubarPath="breakpointGroupGroup"
-               id="org.eclipse.debug.ui.actions.toggleDefaultGroup"/>
-      </viewerContribution>
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.BreakpointView"
-            id="org.eclipse.debug.ui.breakpointview.popupMenu">
-         <action
-               label="%SelectAll.label"
-               helpContextId="select_all_breakpoints_action_context"
-               definitionId="org.eclipse.ui.edit.selectAll"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.SelectAllBreakpointsAction"
-               menubarPath="breakpointGroup"
-               id="org.eclipse.debug.ui.actions.SelectAllBreakpointsAction">
-         </action>
-         <action
-               label="%RemoveAllAction.label"
-               icon="$nl$/icons/full/elcl16/rem_all_co.gif"
-               helpContextId="remove_all_breakpoints_action_context"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.RemoveAllBreakpointsAction"
-               menubarPath="breakpointGroup"
-               id="org.eclipse.debug.ui.actions.RemoveAllBreakpoints">
-         </action>
-        <action
-               label="%RemoveAction.label"
-               icon="$nl$/icons/full/elcl16/rem_co.gif"
-               helpContextId="remove_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.RemoveBreakpointAction"
-               menubarPath="breakpointGroup"
-               enablesFor="1+"
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.remove">
-        </action>
-        <action
-               label="%DisableBreakpointsAction.label"
-               icon="$nl$/icons/full/elcl16/disabled_co.gif"
-               helpContextId="disable_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.DisableBreakpointsAction"
-               menubarPath="breakpointGroup"
-               enablesFor="1+"
-               id="org.eclipse.debug.ui.actions.DisableBreakpoint">
-        </action>
-        <action
-               label="%EnableBreakpointsAction.label"
-               icon="$nl$/icons/full/elcl16/enabled_co.gif"
-               helpContextId="enable_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.breakpoints.EnableBreakpointsAction"
-               menubarPath="breakpointGroup"
-               enablesFor="1+"
-               id="org.eclipse.debug.ui.actions.EnableBreakpoint">
-        </action>
-        <action
-              class="org.eclipse.debug.internal.ui.importexport.breakpoints.ImportBreakpoints"
-              icon="$nl$/icons/full/elcl16/import_brkpts.gif"
-              id="org.eclipse.debug.internal.ui.importexport.breakpoints.importBreakpointsContext"
-              label="%importBreakpoints.label"
-              menubarPath="additions"/>
-        <action
-              class="org.eclipse.debug.internal.ui.importexport.breakpoints.ExportBreakpoints"
-              enablesFor="1+"
-              icon="$nl$/icons/full/elcl16/export_brkpts.gif"
-              id="org.eclipse.debug.internal.ui.importexport.breakpoints.exportBreakpointsContext"
-              label="%exportBreakpoints.label"
-              menubarPath="additions"/>
-      </viewerContribution>
-      <!-- Breakpoint actions -->
-<!-- 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="$nl$/icons/full/elcl16/copy_edit_co.gif"
-               definitionId="org.eclipse.ui.edit.copy"
-               helpContextId="copy_variables_to_clipboard_action_context"
-               class="org.eclipse.debug.internal.ui.actions.CopyToClipboardActionDelegate"
-               menubarPath="variableGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.copyVariablesToClipboard">
-         </action>
-         <action
-               label="%SelectAll.label"
-               helpContextId="select_all_variables_action_context"
-               definitionId="org.eclipse.ui.edit.selectAll"
-               class="org.eclipse.debug.internal.ui.actions.variables.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="$nl$/icons/full/elcl16/rem_all_co.gif"
-               helpContextId="remove_all_expressions_action_context"
-               class="org.eclipse.debug.internal.ui.actions.expressions.RemoveAllExpressionsAction"
-               menubarPath="expressionGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.removeAllExpressionsAction">
-         </action>
-         <action
-               label="%RemoveAction.label"
-               icon="$nl$/icons/full/elcl16/rem_co.gif"
-               helpContextId="remove_expression_action_context"
-               class="org.eclipse.debug.internal.ui.actions.expressions.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="%CopyExpressionsToClipboardAction.label"
-               icon="$nl$/icons/full/elcl16/copy_edit_co.gif"
-               definitionId="org.eclipse.ui.edit.copy"
-               helpContextId="copy_variables_to_clipboard_action_context"
-               class="org.eclipse.debug.internal.ui.actions.CopyToClipboardActionDelegate"
-               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"
-               definitionId="org.eclipse.ui.edit.selectAll"
-               class="org.eclipse.debug.internal.ui.actions.expressions.SelectAllExpressionsAction"
-               menubarPath="expressionGroup"
-               id="org.eclipse.debug.ui.actions.SelectAllExpressionsAction">
-         </action>
-      </viewerContribution>
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.RegisterView"
-            id="org.eclipse.debug.ui.registersView.popupMenu">
-      <!-- Variable Group -->
-         <action
-               menubarPath="variableGroup"
-               class="org.eclipse.debug.internal.ui.actions.CopyToClipboardActionDelegate"
-               definitionId="org.eclipse.ui.edit.copy"
-               icon="$nl$/icons/full/elcl16/copy_edit_co.gif"
-               label="%CopyRegistersToClipboardAction.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.variables.SelectAllVariablesAction"
-               label="%SelectAll.label"
-               menubarPath="variableGroup"
-               definitionId="org.eclipse.ui.edit.selectAll"
-               helpContextId="select_all_variables_action_context"
-               id="org.eclipse.debug.ui.actions.SelectAllVariablesAction">
-         </action>
-      </viewerContribution>
-   </extension>
-<!-- Contribution to Memory View, integer renderings -->
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.debug.internal.ui.views.memory.renderings.AbstractIntegerRendering"
-            id="org.eclipse.debug.ui.memory">
-         <menu
-               label="%Endianess"
-               path="additions"
-               id="org.eclipse.debug.ui.memory.rendering.setendianess">
-            <separator name="setEndianessGroup"/>
-            <groupMarker name="defaultEndianessGroup"/>
-         </menu>
-          <action
-                helpContextId="LittleEndianAction_context"
-                enablesFor="1"
-                label="%LittleEndianActionName"
-                class="org.eclipse.debug.internal.ui.views.memory.renderings.LittleEndianAction"
-                menubarPath="org.eclipse.debug.ui.memory.rendering.setendianess/setEndianessGroup"
-                id="org.eclipse.debug.ui.memory.rendering.LittleEndianAction"> 
-         </action>            
-         <action
-               helpContextId="BigEndianAction_context"
-               enablesFor="1"
-               label="%BigEndianActionName"
-               class="org.eclipse.debug.internal.ui.views.memory.renderings.BigEndianAction"
-               menubarPath="org.eclipse.debug.ui.memory.rendering.setendianess/setEndianessGroup"
-               id="org.eclipse.debug.ui.memory.rendering.BigEndianAction"> 
-         </action>
-         <action
-               class="org.eclipse.debug.internal.ui.views.memory.renderings.DefaultEndianessAction"
-               enablesFor="1"
-               helpContextId="RestoreDefEndianessAction_context"
-               id="org.eclipse.debug.ui.memory.rendering.DefaultEndianAction"
-               label="%RestoreDefEndianessActionName"
-               menubarPath="org.eclipse.debug.ui.memory.rendering.setendianess/defaultEndianessGroup"/>
-      </objectContribution>
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.MemoryView.RenderingViewPane.1"
-            id="org.eclipse.debug.ui.memory.renderingviewpane.1">
-         <menu
-               label="%AddRemoveRenderingMenu.name"
-               path="popUpBegin"
-               id="org.eclipse.debug.ui.memory.renderingviewpane.1.addremove">
-         </menu>
-         <action
-               helpContextId="RemoveRenderingContextAction_context"
-               label="%RemoveRenderingAction.name"
-               class="org.eclipse.debug.internal.ui.views.memory.RemoveRenderingContextAction"
-               icon="$nl$/icons/full/elcl16/removememory_tsk.gif"
-               menubarPath="org.eclipse.debug.ui.memory.renderingviewpane.1.addremove"
-               id="org.eclipse.debug.ui.MemoryView.RenderingViewPane.1.remove"/>
-         <action
-               helpContextId="AddRenderingContextAction_context"
-               label="%AddRenderingAction.name"
-               class="org.eclipse.debug.internal.ui.views.memory.AddMemoryRenderingContextAction"
-               icon="$nl$/icons/full/elcl16/monitorexpression_tsk.gif"
-               menubarPath="org.eclipse.debug.ui.memory.renderingviewpane.1.addremove"
-               id="org.eclipse.debug.ui.MemoryView.RenderingViewPane.1.add"/>
-      </viewerContribution>
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.MemoryView.RenderingViewPane.2"
-            id="org.eclipse.debug.ui.memory.renderingviewpane.2">
-         <menu
-               label="%AddRemoveRenderingMenu.name"
-               path="popUpBegin"
-               id="org.eclipse.debug.ui.memory.renderingviewpane.2.addremove"/>
-         <action
-               helpContextId="RemoveRenderingContextAction_context"
-               label="%RemoveRenderingAction.name"
-               class="org.eclipse.debug.internal.ui.views.memory.RemoveRenderingContextAction"
-               icon="$nl$/icons/full/elcl16/removememory_tsk.gif"
-               menubarPath="org.eclipse.debug.ui.memory.renderingviewpane.2.addremove"
-               id="org.eclipse.debug.ui.MemoryView.RenderingViewPane.2.remove"/>
-         <action
-               helpContextId="AddRenderingContextAction_context"
-               label="%AddRenderingAction.name"
-               class="org.eclipse.debug.internal.ui.views.memory.AddMemoryRenderingContextAction"
-               icon="$nl$/icons/full/elcl16/monitorexpression_tsk.gif"
-               menubarPath="org.eclipse.debug.ui.memory.renderingviewpane.2.addremove"
-               id="org.eclipse.debug.ui.MemoryView.RenderingViewPane.2.add"/>
-      </viewerContribution>   
-      <viewerContribution
-            id="org.eclipse.debug.ui.memory.memoryBlockTreeViewPane"
-            targetID="org.eclipse.debug.ui.MemoryView.MemoryBlocksTreeViewPane">
-         <action
-               class="org.eclipse.debug.internal.ui.views.memory.ResetMemoryBlockAction"
-               helpContextId="resetMemoryMonitor_context"
-               icon="$nl$/icons/full/elcl16/memoryreset_tsk.gif"
-               id="org.eclipse.debug.ui.resetMemoryBlock"
-               label="%resetMemoryMonitorAction.label"
-               menubarPath="additions"/>
-      </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="$nl$/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>
-      <statusHandler
-            code="203"
-            class="org.eclipse.debug.internal.ui.launchConfigurations.CompileErrorProjectPromptStatusHandler"
-            id="org.eclipse.debug.ui.statusHandler.compileErrorProjectPromptStatusHandler"
-            plugin="org.eclipse.debug.core"/>
-      <statusHandler
-            class="org.eclipse.debug.internal.ui.launchConfigurations.SaveScopeResourcesHandler"
-            code="222"
-            id="org.eclipse.debug.ui.statusHandler.saveScopedResources"
-            plugin="org.eclipse.debug.core"/>
-      <statusHandler
-            class="org.eclipse.debug.internal.ui.launchConfigurations.DeleteLaunchConfigurationStatusHandler"
-            code="225"
-            id="org.eclipse.debug.ui.deleteAssociatedLaunchConfigs"
-            plugin="org.eclipse.debug.core"/> 
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchGroups">
-      <launchGroup
-            label="%DebugLaunchGroup.label"
-            bannerImage="$nl$/icons/full/wizban/debug_wiz.png"
-            image="$nl$/icons/full/etool16/debug_exc.gif"
-            mode="debug"
-            id="org.eclipse.debug.ui.launchGroup.debug"
-            title="%DebugLaunchGroup.title">
-      </launchGroup>
-      <launchGroup
-            label="%RunLaunchGroup.label"
-            bannerImage="$nl$/icons/full/wizban/run_wiz.png"
-            image="$nl$/icons/full/etool16/run_exc.gif"
-            mode="run"
-            id="org.eclipse.debug.ui.launchGroup.run"
-            title="%RunLaunchGroup.title">
-      </launchGroup>
-      <launchGroup
-            label="%ProfileLaunchGroup.label"
-            bannerImage="$nl$/icons/full/wizban/profile_wiz.png"
-            image="$nl$/icons/full/etool16/profile_exc.gif"
-            mode="profile"
-            id="org.eclipse.debug.ui.launchGroup.profile"
-            title="%ProfileLaunchGroup.title">
-      </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.IDebugElement"
-            name="%processPropertyPageName"
-            class="org.eclipse.debug.internal.ui.preferences.ProcessPropertyPage"
-            id="org.eclipse.debug.ui.properties.process">
-      </page>
-      <page
-            class="org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingPropertiesPage"
-            id="org.eclipse.debug.ui.properties.tablerendering"
-            name="%TableRenderingInfo.label"
-            objectClass="org.eclipse.debug.ui.memory.AbstractTableRendering"/>
-      <page
-            class="org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingPropertiesPage"
-            id="org.eclipse.debug.ui.properties.asynctablerendering"
-            name="%TableRenderingInfo.label"
-            objectClass="org.eclipse.debug.internal.ui.memory.provisional.AbstractAsyncTableRendering"/>            
-   </extension>
-<!-- commands and their bindings
-NOTE: 
-M1 = CTRL/COMMAND 
-M2 = SHIFT 
-M3 = ALT 
-M4 = Platform-specific fourth key
--->
-   <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"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.toggleStepFilters.description"
-            id="org.eclipse.debug.ui.commands.ToggleStepFilters">
-      </command>
-      <command
-            name="%ActionDefinition.stepInto.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.stepInto.description"
-            id="org.eclipse.debug.ui.commands.StepInto">
-      </command>
-      <command
-            name="%ActionDefinition.stepOver.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.stepOver.description"
-            id="org.eclipse.debug.ui.commands.StepOver">
-      </command>
-      <command
-            name="%ActionDefinition.stepReturn.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.stepReturn.description"
-            id="org.eclipse.debug.ui.commands.StepReturn">
-      </command>
-      <command
-            name="%ActionDefinition.resume.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.resume.description"
-            id="org.eclipse.debug.ui.commands.Resume">
-      </command>
-      <command
-            name="%ActionDefinition.terminate.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.terminate.description"
-            id="org.eclipse.debug.ui.commands.Terminate">
-      </command>
-      <command
-            name="%ActionDefinition.terminateAndRelaunch.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.terminateAndRelaunch.description"
-            id="org.eclipse.debug.ui.commands.TerminateAndRelaunch">
-      </command>
-      <command
-            name="%ActionDefinition.suspend.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.suspend.description"
-            id="org.eclipse.debug.ui.commands.Suspend">
-      </command>
-      <command
-            name="%ActionDefinition.openProfile.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.openProfile.description"
-            id="org.eclipse.debug.ui.commands.OpenProfileConfigurations">
-      </command>
-      <command
-            name="%ActionDefinition.openRun.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.openRun.description"
-            id="org.eclipse.debug.ui.commands.OpenRunConfigurations">
-      </command>
-      <command
-            name="%ActionDefinition.openDebug.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.openDebug.description"
-            id="org.eclipse.debug.ui.commands.OpenDebugConfigurations">
-      </command>
-      <command
-            name="%ActionDefinition.debugLast.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.debugLast.description"
-            id="org.eclipse.debug.ui.commands.DebugLast">
-      </command>
-      <command
-            name="%ActionDefinition.runLast.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.runLast.description"
-            id="org.eclipse.debug.ui.commands.RunLast">
-      </command>
-      <command
-            name="%ActionDefinition.profileLast.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.profileLast.description"
-            id="org.eclipse.debug.ui.commands.ProfileLast">
-      </command>
-      <command
-            name="%ActionDefinition.runToLine.name"
-            description="%ActionDefinition.runToLine.description"
-            categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.RunToLine">
-      </command>  
-      <command
-            name="%ActionDefinition.toggleBreakpoint.name"
-            description="%ActionDefinition.toggleBreakpoint.description"
-            categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.ToggleBreakpoint">
-      </command>
-      <command
-            name="%ActionDefinition.skipAllBreakpoints.name"
-            description="%ActionDefinition.skipAllBreakpoints.description"
-            categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.SkipAllBreakpoints">
-      </command>
-      <command
-            name="%ActionDefinition.toggleWatchpoint.name"
-            description="%ActionDefinition.toggleWatchpoint.description"
-            categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.ToggleWatchpoint">
-      </command>
-      <command
-            name="%ActionDefinition.toggleMethodBreakpoint.name"
-            description="%ActionDefinition.toggleMethodBreakpoint.description"
-            categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.ToggleMethodBreakpoint">
-      </command>
-<!-- console -->      
-      <command
-            name="%ActionDefinition.eof.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.eof.description"
-            id="org.eclipse.debug.ui.commands.eof">
-      </command>
-<!-- Memory View -->
- 	  <command
-       		categoryId="org.eclipse.debug.ui.category.run"
-      		description="%ActionDefinition.addMemoryBlock.description"
-     		id="org.eclipse.debug.ui.commands.addMemoryMonitor"
-     		name="%ActionDefinition.addMemoryBlock.name"/>           
-<!-- views -->
-      <command
-            name="%ViewCommand.debugView.name"
-            description="%ViewCommand.debugView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.DebugView">
-      </command>
-      <command
-            name="%ViewCommand.breakpointView.name"
-            description="%ViewCommand.breakpointView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.BreakpointView">
-      </command>
-      <command
-            name="%ViewCommand.variableView.name"
-            description="%ViewCommand.variableView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.VariableView">
-      </command>
-      <command
-            name="%ViewCommand.expressionView.name"
-            description="%ViewCommand.expressionView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.ExpressionView">
-      </command>
-      <command
-            name="%ViewCommand.registerView.name"
-            description="%ViewCommand.registerView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.RegisterView">
-      </command>
-      <command
-            name="%ViewCommand.memoryView.name"
-            description="%ViewCommand.memoryView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.MemoryView">
-      </command>
-<!-- Perspective -->      
-	<command
-      		name="%DebugPerspective.name"
-      		description="%command.openDebugPerspective.description"
-      		categoryId="org.eclipse.ui.category.perspectives"
-      		id="org.eclipse.debug.ui.DebugPerspective" />
-	<command
-       description="%ActionDefinition.removeAllBreakpoints.description"
-       categoryId="org.eclipse.debug.ui.category.run"
-       name="%ActionDefinition.removeAllBreakpoints.name"
-       id="org.eclipse.debug.ui.commands.RemoveAllBreakpoints"/>
- <command
-       categoryId="org.eclipse.debug.ui.category.run"
-       description="%toggleMemoryMonitorsPane.description"
-       id="org.eclipse.debug.ui.commands.toggleMemoryMonitorsPane"
-       name="%toggleMemoryMonitorsPane.label"/>
- <command
-       categoryId="org.eclipse.debug.ui.category.run"
-       description="%nextMemoryBlockCommand.description"
-       id="org.eclipse.debug.ui.commands.nextMemoryBlock"
-       name="%nextMemoryBlockCommand.label"/>
- <command
-       categoryId="org.eclipse.debug.ui.category.run"
-       description="%command.description.0"
-       id="org.eclipse.debug.ui.command.gotoaddress"
-       name="%command.name.0"/>
-   </extension>
-   <extension point="org.eclipse.ui.bindings">
-     <key
-            sequence="M2+F5"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.debug.ui.commands.ToggleStepFilters"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="F5"
-            contextId="org.eclipse.debug.ui.debugging"
-            commandId="org.eclipse.debug.ui.commands.StepInto"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="F6"
-            contextId="org.eclipse.debug.ui.debugging"
-            commandId="org.eclipse.debug.ui.commands.StepOver"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="F7"
-            contextId="org.eclipse.debug.ui.debugging"
-            commandId="org.eclipse.debug.ui.commands.StepReturn"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-       <key
-            sequence="F8"
-            contextId="org.eclipse.debug.ui.debugging"
-            commandId="org.eclipse.debug.ui.commands.Resume"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-       <key
-            sequence="F11"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.debug.ui.commands.DebugLast"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-      		platform="carbon"
-            sequence="M1+F11"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.debug.ui.commands.DebugLast"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+F11"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.debug.ui.commands.RunLast"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-      		platform="carbon"
-            sequence="M1+M2+F11"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.debug.ui.commands.RunLast"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-       <key
-            sequence="M1+R"
-            contextId="org.eclipse.debug.ui.debugging"
-            commandId="org.eclipse.debug.ui.commands.RunToLine"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+M2+B"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.debug.ui.commands.ToggleBreakpoint"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-       <key
-            commandId="org.eclipse.debug.ui.commands.eof"
-            contextId="org.eclipse.debug.ui.console"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+D"/>
-      <key
-            contextId="org.eclipse.debug.ui.console"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+D"
-            platform="win32"/>
-      <key
-            commandId="org.eclipse.debug.ui.commands.eof"
-            contextId="org.eclipse.debug.ui.console"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+Z"
-            platform="win32"/>
-       <key
-            sequence="M3+M2+Q B"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.debug.ui.BreakpointView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-       <key
-            sequence="M3+M2+Q V"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.debug.ui.VariableView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-       <key
-             commandId="org.eclipse.debug.ui.commands.addMemoryMonitor"
-             contextId="org.eclipse.debug.ui.memoryview"
-             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-             sequence="M1+M3+M"/>
-       <key
-             commandId="org.eclipse.debug.ui.commands.toggleMemoryMonitorsPane"
-             contextId="org.eclipse.debug.ui.memoryview"
-             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-             sequence="M1+T"/>
-       <key
-             commandId="org.eclipse.debug.ui.commands.nextMemoryBlock"
-             contextId="org.eclipse.debug.ui.memoryview"
-             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-             sequence="M1+M3+N"/>
-       <key
-             commandId="org.eclipse.debug.ui.command.gotoaddress"
-             contextId="org.eclipse.debug.ui.memory.abstractasynctablerendering"
-             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-             sequence="M1+G"/>             
-  	</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="$nl$/icons/full/obj16/brkp_obj.gif"
-            annotationImageProvider="org.eclipse.debug.internal.ui.BreakpointImageProvider">
-      </specification>
-      <specification
-            annotationImageProvider="org.eclipse.debug.internal.ui.InstructionPointerImageProvider"
-            annotationType="org.eclipse.debug.ui.currentIP"
-            colorPreferenceKey="currentIPColor"
-            colorPreferenceValue="198,219,174"
-            highlightPreferenceKey="currentIPHighlight"
-            highlightPreferenceValue="true"
-            label="%debugCurrentInstructionPointer"
-            overviewRulerPreferenceKey="currentIPOverviewRuler"
-            overviewRulerPreferenceValue="true"
-            presentationLayer="6"
-            textPreferenceKey="currentIPIndication"
-            textPreferenceValue="false"
-            verticalRulerPreferenceKey="currentIPVerticalRuler"
-            verticalRulerPreferenceValue="true">
-      </specification>
-      <specification
-            annotationImageProvider="org.eclipse.debug.internal.ui.InstructionPointerImageProvider"
-            annotationType="org.eclipse.debug.ui.secondaryIP"
-            colorPreferenceKey="secondaryIPColor"
-            colorPreferenceValue="219,235,204"
-            highlightPreferenceKey="secondaryIPHighlight"
-            highlightPreferenceValue="true"
-            label="%debugCallStack"
-            overviewRulerPreferenceKey="secondaryIPOverviewRuler"
-            overviewRulerPreferenceValue="true"
-            presentationLayer="6"
-            textPreferenceKey="secondaryIPIndication"
-            textPreferenceValue="false"
-            verticalRulerPreferenceKey="secondaryIPVerticalRuler"
-            verticalRulerPreferenceValue="true">
-      </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>
-      <variablePresentation
-            argumentSelector="org.eclipse.debug.internal.ui.stringsubstitution.SystemPropertyArgumentSelector"
-            variableName="system_property"/>
-   </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="$nl$/icons/full/obj16/stckframe_obj.gif"
-            class="org.eclipse.debug.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="$nl$/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="$nl$/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="$nl$/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="$nl$/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="$nl$/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="$nl$/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="$nl$/icons/full/obj16/jar_obj.gif"
-            id="org.eclipse.debug.ui.containerPresentation.externalArchive">
-      </sourceContainerPresentation>      
-      <sourceContainerPresentation           
-            containerTypeID="org.eclipse.debug.core.containerType.default"
-            icon="$nl$/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>
-         <factory 
-            class="" 
-            adaptableType="org.eclipse.ui.part.FileEditorInput">
-            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
-         </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>      
-      <propertyTester
-            namespace="org.eclipse.debug.ui"
-            type="org.eclipse.ui.console.IConsole"
-            class="org.eclipse.debug.internal.ui.views.console.ProcessTypePropertyTester"
-            properties="processTypeTest"
-            id="org.eclipse.jdt.debug.ui.JavaConsolePropertyTester"/>
-   </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>
-     <context
-           name="%Context.console.name"
-           description="%Context.console.description"
-           id="org.eclipse.debug.ui.console"
-           parentId="org.eclipse.ui.contexts.window">
-     </context>  
-     <context
-           name="%Context.memoryview.name"
-           description="%Context.memoryview.description"
-           id="org.eclipse.debug.ui.memoryview"
-           parentId="org.eclipse.ui.contexts.window">
-     </context>
-     <context
-           description="%context.description.0"
-           id="org.eclipse.debug.ui.memory.abstractasynctablerendering"
-           name="%context.name.0"
-           parentId="org.eclipse.debug.ui.debugging"/>      
-  </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>
-     <contextViewBinding
-           autoOpen="false"
-           contextId="org.eclipse.debug.ui.debugging"
-           viewId="org.eclipse.ui.console.ConsoleView"/>
-  </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>
-      <fontDefinition
-            defaultsTo="org.eclipse.jface.textfont"
-            label="%ConsoleFont.label"
-            categoryId="org.eclipse.debug.ui.presentation"
-            id="org.eclipse.debug.ui.consoleFont">
-          <description>
-	            %ConsoleFont.description
-          </description>
-		</fontDefinition>
-   </extension>
-   <extension
-         point="org.eclipse.ui.console.consolePageParticipants">
-      <consolePageParticipant
-            class="org.eclipse.debug.internal.ui.views.console.ProcessConsolePageParticipant"
-            id="org.eclipse.debug.ui.processConsolePageParticipant">
-         <enablement>
-            <instanceof value="org.eclipse.debug.internal.ui.views.console.ProcessConsole"/>
-         </enablement>
-      </consolePageParticipant>
-   </extension>
-   
-    <extension point="org.eclipse.core.runtime.preferences">
-		<initializer class="org.eclipse.debug.internal.ui.DebugUIPreferenceInitializer"/>
-	</extension>
-    <extension
-          point="org.eclipse.debug.ui.breakpointOrganizers">
-          <breakpointOrganizer
-                othersLabel="%Project.others"
-                label="%Project.label"
-                icon="$nl$/icons/full/obj16/prj_obj.gif"
-                class="org.eclipse.debug.internal.ui.views.breakpoints.ProjectBreakpointOrganizer"
-                id="org.eclipse.debug.ui.breakpointProjectOrganizer"/>
-          <breakpointOrganizer
-                othersLabel="%File.others"
-                label="%File.label"
-                icon="$nl$/icons/full/obj16/file_obj.gif"
-                class="org.eclipse.debug.internal.ui.views.breakpoints.FileBreakpointOrganizer"
-                id="org.eclipse.debug.ui.breakpointFileOrganizer"/>
-		  <breakpointOrganizer
-          othersLabel="%WorkingSet.others"
-          label="%WorkingSet.label"
-          class="org.eclipse.debug.internal.ui.views.breakpoints.WorkingSetBreakpointOrganizer"
-          icon="$nl$/icons/full/obj16/fldr_obj.gif"
-          id="org.eclipse.debug.ui.workingSetOrganizer"/>          	
-          <breakpointOrganizer
-                othersLabel="%BreakpointType.others"
-                label="%BreakpointType.label"
-                icon="$nl$/icons/full/obj16/brkp_type.gif"
-                class="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointTypeOrganizer"
-                id="org.eclipse.debug.ui.breakpointTypeOrganizer"/>
-          <breakpointOrganizer
-                othersLabel="%BreakpointWorkingSet.others"
-                label="%BreakpointWorkingSet.label"
-                class="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointSetOrganizer"
-                icon="$nl$/icons/full/obj16/brkp_grp.gif"
-                id="org.eclipse.debug.ui.breakpointWorkingSetOrganizer"/>
-    </extension>    
-	<extension point="org.eclipse.core.runtime.adapters">
-         <factory 
-            class="org.eclipse.debug.internal.ui.DebugUIAdapterFactory"
-            adaptableType="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter2"/>
-         </factory>
-         <factory 
-            class="org.eclipse.debug.internal.ui.DebugUIAdapterFactory"
-            adaptableType="org.eclipse.debug.ui.BreakpointTypeCategory">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-         </factory>
-         <factory
-               class="org.eclipse.debug.internal.ui.DebugUIAdapterFactory"
-               adaptableType="org.eclipse.debug.core.model.IBreakpoint">
-            <adapter type="org.eclipse.ui.IPersistableElement"/>
-         </factory>
-         <factory
-               class="org.eclipse.debug.internal.ui.DebugUIAdapterFactory"
-               adaptableType="org.eclipse.debug.internal.ui.views.breakpoints.WorkingSetCategory">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter2"/>
-         </factory>         
-    </extension>
- <extension
-       point="org.eclipse.ui.elementFactories">
-    <factory
-          class="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointFactory"
-          id="org.eclipse.debug.ui.elementFactory.breakpoints"/>
- </extension>    
-    <extension
-          point="org.eclipse.ui.popupMenus">
-       <viewerContribution
-             targetID="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu"
-             id="org.eclipse.debug.ui.processConsoleContextMenu">
-          <action
-                label="%RemoveAllTerminatedAction.label"
-                tooltip="%RemoveAllTerminatedAction.tooltip"
-                icon="$nl$/icons/full/elcl16/rem_all_co.gif"
-                class="org.eclipse.debug.internal.ui.actions.RemoveAllTerminatedAction"
-                menubarPath="additions"
-                id="org.eclipse.debug.ui.consoleRemoveAllTerminatedAction"
-				helpContextId="console_remove_all_terminated_context"/>
-          <action
-                label="%ConsolePreferencesAction.label"
-                tooltip="%ConsolePreferencesAction.tooltip"
-                class="org.eclipse.debug.internal.ui.views.console.ConsoleShowPreferencesAction"
-                menubarPath="preferences"
-                id="org.eclipse.debug.ui.consolePreferencesAction"/>                
-       </viewerContribution>
-    </extension>
-    <extension
-          point="org.eclipse.ui.workingSets">
-       <workingSet
-             icon="$nl$/icons/full/obj16/brkp_grp.gif"
-             name="%BreakpointWorkingSet.name"
-             pageClass="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointWorkingSetPage"
-             id="org.eclipse.debug.ui.breakpointWorkingSet"/>
-    </extension>
-    
-    <!-- Console action contributions -->
-    
-   <extension
-          point="org.eclipse.debug.ui.memoryRenderings">
-       <renderingType
-             class="org.eclipse.debug.internal.ui.views.memory.renderings.HexRenderingTypeDelegate"
-             name="%RawHex"
-             id="org.eclipse.debug.ui.rendering.raw_memory"/>
-       <renderingType
-             class="org.eclipse.debug.internal.ui.views.memory.renderings.ASCIIRenderingTypeDelegate"
-             name="%ASCIIName"
-             id="org.eclipse.debug.ui.rendering.ascii"/>
-       <renderingType
-             class="org.eclipse.debug.internal.ui.views.memory.renderings.SignedIntegerRenderingTypeDelegate"
-             name="%SignedIntegerName"
-             id="org.eclipse.debug.ui.rendering.signedint"/>
-       <renderingType
-             class="org.eclipse.debug.internal.ui.views.memory.renderings.UnsignedIntegerRenderingTypeDelegate"
-             name="%UnsignedIntegerName"
-             id="org.eclipse.debug.ui.rendering.unsignedint"/>
-    </extension>
-    <extension
-          point="org.eclipse.ui.workingSets">
-       <workingSet
-             icon="$nl$/icons/full/obj16/brkp_grp.gif"
-             name="%BreakpointWorkingSet.name"
-             pageClass="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointWorkingSetPage"
-             id="org.eclipse.debug.ui.breakpointWorkingSet"/>
-    </extension>
-    <extension
-          point="org.eclipse.ui.keywords">
-       <keyword
-             id="org.eclipse.debug.ui.general"
-             label="%preferenceKeywords.general"/>
-       <keyword
-             id="org.eclipse.debug.ui.console"
-             label="%preferenceKeywords.console"/>
-       <keyword
-             id="org.eclipse.debug.ui.launching"
-             label="%preferenceKeywords.launching"/>
-       <keyword
-             id="org.eclipse.debug.ui.stringSubstitution"
-             label="%preferenceKeywords.stringSubstitution"/>
-       <keyword
-             id="org.eclipse.debug.ui.viewManagement"
-             label="%preferenceKeywords.viewManagement"/>
-       <keyword
-             id="org.eclipse.debug.ui.perspectivesPref"
-             label="%preferenceKeywords.perspective"/>
-       <keyword
-             id="org.eclipse.debug.ui.launchconfigurations"
-             label="%preferenceKeywords.launchConfigurations"/>
-    </extension>
-    <extension
-          point="org.eclipse.ui.importWizards">
-       <wizard
-             category="org.eclipse.ui.Basic"
-             class="org.eclipse.debug.internal.ui.importexport.breakpoints.WizardImportBreakpoints"
-             icon="$nl$/icons/full/elcl16/import_brkpts.gif"
-             id="org.eclipse.debug.internal.ui.importexport.breakpoints.WizardImportBreakpoints"
-             name="%exportBreakpoints.name">
-          <description>
-          		%importBreakpoints.description
-          </description>
-          <selection class="org.eclipse.core.resources.IResource"/>
-       </wizard>
-    </extension>
-    <extension
-          point="org.eclipse.ui.exportWizards">
-       <wizard
-             category="org.eclipse.ui.Basic"
-             class="org.eclipse.debug.internal.ui.importexport.breakpoints.WizardExportBreakpoints"
-             icon="icons/full/elcl16/export_brkpts.gif"
-             id="org.eclipse.debug.internal.ui.importexport.breakpoints.WizardExportBreakpoints"
-             name="%exportBreakpoints.name">
-          <description>
-          	%exportBreakpoints.description
-          </description>
-          <selection class="org.eclipse.core.resources.IResource"/>
-       </wizard>
-    </extension>
-
-</plugin>
diff --git a/org.eclipse.debug.ui/schema/breakpointOrganizers.exsd b/org.eclipse.debug.ui/schema/breakpointOrganizers.exsd
deleted file mode 100644
index 89c7e76..0000000
--- a/org.eclipse.debug.ui/schema/breakpointOrganizers.exsd
+++ /dev/null
@@ -1,153 +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="breakpointOrganizers" name="Breakpoint Organizers"/>
-      </appInfo>
-      <documentation>
-         Breakpoint organizers categorize breakpoints based on some specific criteria. For example, a breakpoint organizer is provided to categorize breakpoints by project.
-
-Organizers with the specified name will be automatically created by the Debug Platform and presented to the user as options for grouping breakpoints. The supplied class, which must implement org.eclipse.debug.ui.IBreakpointOrganizerDelegate, will be loaded only as necessary, to avoid early plugin activation.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="breakpointOrganizer" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="breakpointOrganizer">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Unique identifier for this breakpoint organizer.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Implementation of &lt;code&gt;org.eclipse.debug.ui.IBreakpointOrganizerDelegate&lt;/code&gt; that performs categorization
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Label for this organizer which is suitable for presentation to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  Optional path to an icon which can be shown for this organizer.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="othersLabel" type="string">
-            <annotation>
-               <documentation>
-                  Optional label for this organizer which is suitable for presentation to the user to describe breakpoints that do not fall into a category supplied by this organizer. For example, if an organizer categorizes breakpoints by working sets, but a breakpoint does not belong to a working set, this label will be used. When unspecified, &quot;Others&quot; is used.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of a breakpoint organizer extension.
-&lt;pre&gt;
-&lt;extension
-    point=&quot;org.eclipse.debug.ui.breakpointOrganizers&quot;&gt;
-    &lt;breakpointOrganizer
-    class=&quot;com.example.BreakpointOrganizer&quot;
-     id=&quot;com.example.BreakpointOrganizer&quot;
-     label=&quot;Example Organizer&quot;
-     icon=&quot;icons/full/obj16/example_org.gif&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-In the above example, the supplied factory will be included in the list of options for grouping breakpoints (&quot;Group By &gt; Example Organizer&quot;). When selected, the associated organizer will be used to categorize breakpoints.
-      </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.IBreakpointOrganizerDelegate&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The Debug Platform provides breakpoint organizers for projects, files, breakpoint types, and working sets.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/consoleColorProviders.exsd b/org.eclipse.debug.ui/schema/consoleColorProviders.exsd
deleted file mode 100644
index e7be4e7..0000000
--- a/org.eclipse.debug.ui/schema/consoleColorProviders.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="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 &lt;code&gt;IConsoleColorProvider&lt;/code&gt;
-               </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 &lt;code&gt;IProcess.ATTR_PROCESS_TYPE&lt;/code&gt;.
-               </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=&quot;org.eclipse.debug.ui.consoleColorProviders&quot;&gt;
-  &lt;consoleColorProvider 
-     id=&quot;com.example.ExampleConsoleColorProvider&quot;
-     class=&quot;com.example.ExampleConsoleColorProvider&quot;
-     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 &quot;ExampleProcessType&quot;, 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>
-Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/consoleLineTrackers.exsd b/org.eclipse.debug.ui/schema/consoleLineTrackers.exsd
deleted file mode 100644
index 7b9d2eb..0000000
--- a/org.eclipse.debug.ui/schema/consoleLineTrackers.exsd
+++ /dev/null
@@ -1,122 +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 &lt;code&gt;IConsoleLineTracker&lt;/code&gt;
-               </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 &lt;code&gt;IProcess.ATTR_PROCESS_TYPE&lt;/code&gt;.
-               </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=&quot;org.eclipse.debug.ui.consoleLineTrackers&quot;&gt;
-  &lt;consoleLineTracker 
-     id=&quot;com.example.ExampleConsoleLineTracker&quot;
-     class=&quot;com.example.ExampleConsoleLineTracker&quot;
-     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 &quot;ExampleProcessType&quot;, 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>
-Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/contextViewBindings.exsd b/org.eclipse.debug.ui/schema/contextViewBindings.exsd
deleted file mode 100644
index 0d8211f..0000000
--- a/org.eclipse.debug.ui/schema/contextViewBindings.exsd
+++ /dev/null
@@ -1,120 +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 &lt;code&gt;true&lt;/code&gt;. If this attribute is specified &lt;code&gt;false&lt;/code&gt;, 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 &lt;code&gt;false&lt;/code&gt; 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 &lt;code&gt;true&lt;/code&gt;. This attribute should only be specified &lt;code&gt;false&lt;/code&gt; 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>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.ui/schema/debugModelContextBindings.exsd b/org.eclipse.debug.ui/schema/debugModelContextBindings.exsd
deleted file mode 100644
index 287cbdf..0000000
--- a/org.eclipse.debug.ui/schema/debugModelContextBindings.exsd
+++ /dev/null
@@ -1,104 +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 &lt;code&gt;IDebugModelProvider&lt;/code&gt; 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=&quot;org.eclipse.debug.ui.debugModelContextBindings&quot;&gt;

-   &lt;modelContextBinding

-         contextId=&quot;com.example.myLanguage.debugging&quot;

-         debugModelId=&quot;com.example.myLanguageDebugModel&quot;&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>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.ui/schema/debugModelPresentations.exsd b/org.eclipse.debug.ui/schema/debugModelPresentations.exsd
deleted file mode 100644
index d6dd5fe..0000000
--- a/org.eclipse.debug.ui/schema/debugModelPresentations.exsd
+++ /dev/null
@@ -1,126 +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;code&gt;org.eclipse.debug.ui.IDebugModelPresentation&lt;/code&gt;
-interface. Since 3.1, debug model presentations may optionally implement &lt;code&gt;IColorProvider&lt;/code&gt; and &lt;code&gt;IFontProvider&lt;/code&gt; to override default fonts and colors for debug elements.
-               </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">
-            <annotation>
-               <documentation>
-                  the fully qualified name of the Java class that is an instance of &lt;code&gt;org.eclipse.jface.text.source.SourceViewerConfiguration&lt;/code&gt;. When specified, the source viewer configuration will be used in the &quot;details&quot; 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 = &quot;org.eclipse.debug.ui.debugModelPresentations&quot;&gt; 
-       &lt;debugModelPresentation 
-           class = &quot;com.example.JavaModelPresentation&quot;
-           id = &quot;com.example.JavaDebugModel&quot;&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;. Since 3.1, debug model presentations may optionally implement &lt;code&gt;IColorProvider&lt;/code&gt; and &lt;code&gt;IFontProvider&lt;/code&gt; to override default fonts and colors for debug elements.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd b/org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd
deleted file mode 100644
index be66be4..0000000
--- a/org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd
+++ /dev/null
@@ -1,173 +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;code&gt;ILaunchConfigurationTabGroup&lt;/code&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>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </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>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration 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;code&gt;class&lt;/code&gt; must be a fully qualified name of a Java class that implements the 
-interface &lt;code&gt;org.eclipse.debug.ui.ILaunchConfigurationTabGroup&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/launchConfigurationTypeImages.exsd b/org.eclipse.debug.ui/schema/launchConfigurationTypeImages.exsd
deleted file mode 100644
index 74093b9..0000000
--- a/org.eclipse.debug.ui/schema/launchConfigurationTypeImages.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="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>
-Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/launchGroups.exsd b/org.eclipse.debug.ui/schema/launchGroups.exsd
deleted file mode 100644
index a2537e9..0000000
--- a/org.eclipse.debug.ui/schema/launchGroups.exsd
+++ /dev/null
@@ -1,160 +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">
-            <annotation>
-               <documentation>
-                  specifies the category of launch configurations in this group. When unspecified, the category is &lt;code&gt;null&lt;/code&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a translatable label used to render this group.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </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">
-            <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 &lt;code&gt;true&lt;/code&gt;, when not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="title" type="string">
-            <annotation>
-               <documentation>
-                  title to display in the launch wizard when this launch group is opened - for example &quot;Select or configure an application to debug&quot; (since 3.1)
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </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=&quot;org.eclipse.debug.ui.launchGroups&quot;&gt;
-  &lt;launchGroup
-     id=&quot;com.example.ExampleLaunchGroupId&quot;
-     mode=&quot;run&quot;
-     label=&quot;Run&quot;
-     image=&quot;icons\run.gif&quot;
-     bannerImage=&quot;icons\runBanner.gif&quot;&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>
-Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/launchShortcuts.exsd b/org.eclipse.debug.ui/schema/launchShortcuts.exsd
deleted file mode 100644
index 1fbe771..0000000
--- a/org.eclipse.debug.ui/schema/launchShortcuts.exsd
+++ /dev/null
@@ -1,266 +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="launchShortcuts" 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;code&gt;org.eclipse.debug.ui.ILaunchShortcut&lt;/code&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>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </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 &lt;code&gt;null&lt;/code&gt; (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>
-         <attribute name="path" type="string">
-            <annotation>
-               <documentation>
-                  an optional menu path used to group launch shortcuts in menus. Launch shortcuts are grouped alphabetically based on the &lt;code&gt;path&lt;/code&gt; attribute, and then sorted alphabetically within groups based on the &lt;code&gt;label&lt;/code&gt; attribute. When unspecified, a shortcut appears in the last group. This attribute was added in the 3.0.1 release.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="perspective">
-      <annotation>
-         <documentation>
-            The &lt;code&gt;perspective&lt;/code&gt; element has been &lt;b&gt;deprecated&lt;/b&gt; in the 3.1 release. The top level Run/Debug/Profile cascade menus now support contextual (selection sensitive) launching, and clients should provide a &lt;code&gt;contextualLaunch&lt;/code&gt; element instead.
-         </documentation>
-      </annotation>
-      <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 selection sensitive Run/Debug/Profile cascade menus.
-         </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>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch 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>
-         &lt;p&gt;
-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;.
-&lt;/p&gt;
-&lt;p&gt;
-Since 3.1, the debug platform registers a command handler for each launch shortcut and its applicable modes to allow clients to define key-bindings for a launch shortcut. The command id for a handler is generated as the launch shortcut id attribute, followed by a dot and the applicable launch mode. For example, the command id for the above launch shortcut example would be &lt;code&gt;com.example.ExampleLaunchShortcutId.debug&lt;/code&gt; for launching in debug mode. A command and key binding could be defined as follows, to bind &quot;&lt;code&gt;ALT-SHIFT-D, E&lt;/code&gt;&quot; to the launch shortcut.
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.commands&quot;&gt;
-      &lt;command
-            name=&quot;Debug Example Launch&quot;
-            description=&quot;Debug Example Launch&quot;
-            categoryId=&quot;org.eclipse.debug.ui.category.run&quot;
-            id=&quot;com.example.ExampleLaunchShortcutId.debug&quot;&gt;
-      &lt;/command&gt;
-      &lt;keyBinding
-            keySequence=&quot;M3+M2+D E&quot;
-            contextId=&quot;org.eclipse.ui.globalScope&quot;
-            commandId=&quot;com.example.ExampleLaunchShortcutId.debug&quot;
-            keyConfigurationId=&quot;org.eclipse.ui.defaultAcceleratorConfiguration&quot;&gt;
-      &lt;/keyBinding&gt;
-   &lt;/extension&gt;      
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/memoryRenderings.exsd b/org.eclipse.debug.ui/schema/memoryRenderings.exsd
deleted file mode 100644
index 1399bb7..0000000
--- a/org.eclipse.debug.ui/schema/memoryRenderings.exsd
+++ /dev/null
@@ -1,208 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.ui" id="memoryRenderings" name="Memory Renderings"/>
-      </appInfo>
-      <documentation>
-         Allows plug-ins to contribute arbitrary renderings for memory blocks and bind memory blocks to renderings. For example, a rendering may translate raw bytes of a memory block into ASCII characters.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <choice>
-            <element ref="renderingType" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="renderingBindings" minOccurs="0" maxOccurs="unbounded"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="renderingType">
-      <annotation>
-         <documentation>
-            This element defines a rendering type.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  human-readable name of this rendering type
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique identifier for this rendering
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  fully qualified name of the Java class that implements &lt;code&gt;org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate&lt;/code&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="renderingBindings">
-      <annotation>
-         <documentation>
-            Binds memory blocks with available renderings.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="enablement" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="renderingIds" type="string">
-            <annotation>
-               <documentation>
-                  comma delimited list of memory rendering type identifiers, specifying available rendering types for memory blocks this binding is enabled for. Must not be specified when &lt;code&gt;class&lt;/code&gt; is provided.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="primaryId" type="string">
-            <annotation>
-               <documentation>
-                  memory rendering type identifier, specifying the default rendering type to be considered primary for memory blocks this binding is enabled for. When there is more than one default rendering type bound to a memory block, the UI may use the information to determine which rendering should be made visible (i.e the primrary one). Must not be specified when &lt;code&gt;class&lt;/code&gt; is provided. Clients should be careful to specify only one primary rendering type per memory block.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  fully qualified name of the Java class that implements &lt;code&gt;org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider&lt;/code&gt;, allowing for dynamic rendering bindings. When specified, &lt;code&gt;renderingIds&lt;/code&gt;, &lt;code&gt;defaultIds&lt;/code&gt;, and &lt;code&gt;primaryId&lt;/code&gt; must not be specified.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="defaultIds" type="string">
-            <annotation>
-               <documentation>
-                  comma delimited list of memory rendering type identifiers, specifying default rendering types for memory blocks this binding is enabled for. Must not be specified when &lt;code&gt;class&lt;/code&gt; is provided.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.1 - replacement for memoryRenderingTypes extension point which was considered experimental in 3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example for defining a new rendering type and binding. 
-
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.debug.ui.memoryRenderings&quot;&gt;
-    &lt;renderingType 
-        name=&quot;Sample Rendering&quot;
-        id=&quot;com.example.sampleRendering&quot;
-        class=&quot;com.example.SampleRenderingTypeDelegate&quot;&gt;
-    &lt;/renderingType&gt;
-    &lt;renderingBindings
-        renderingIds=&quot;com.example.sampleRendering&quot;&gt;
-        &lt;enablement&gt;
-            &lt;instanceof value=&quot;com.example.SampleMemoryBlock&quot;/&gt;
-        &lt;/enablement&gt;    
-    &lt;/renderingBindings&gt;          
-&lt;/extension&gt;        
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the above example, a new rendering type, Sample Rendering, is defined. The class &lt;code&gt;com.example.SampleRenderingTypeDelegate&lt;/code&gt; implements &lt;code&gt;org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate&lt;/code&gt; and will be used to create new renderings of this type. The rendering is bound to instances of &lt;code&gt;com.exmaple.SampleMemoryBlock&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;li&gt;Value of the attribute &lt;b&gt;class&lt;/b&gt; in a &lt;b&gt;renderingType&lt;/b&gt; element must be a fully qualifed name of a Java class that implements &lt;b&gt;org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate&lt;/b&gt;.&lt;/li&gt;
-&lt;li&gt;Value of the attribute &lt;b&gt;class&lt;/b&gt; in a &lt;b&gt;renderingBindings&lt;/b&gt; element must be a fully qualifed name of a Java class that implements &lt;b&gt;org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider&lt;/b&gt;.&lt;/li&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The debug platform provides the following rendering types:&lt;br&gt;
-&lt;li&gt;Hex Rendering (rendering id: org.eclipse.debug.ui.rendering.raw_memory)&lt;/li&gt;
-&lt;li&gt;ASCII Rendering (rendering id: org.eclipse.debug.ui.rendering.ascii)&lt;/li&gt;
-&lt;li&gt;Signed Integer Rendering (rendering id: org.eclipse.debug.ui.rendering.signedint)&lt;/li&gt;
-&lt;li&gt;Unsigned Integer Rendering (rendering id: org.eclipse.debug.ui.rendering.unsignedint) &lt;/li&gt;
-&lt;br&gt;
-&lt;/p&gt;
-&lt;p&gt;
-The debug platform provides a memory view to host renderings.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-Copyright (c) 2004, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/sourceContainerPresentations.exsd b/org.eclipse.debug.ui/schema/sourceContainerPresentations.exsd
deleted file mode 100644
index 0cd1570..0000000
--- a/org.eclipse.debug.ui/schema/sourceContainerPresentations.exsd
+++ /dev/null
@@ -1,142 +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 &lt;code&gt;ISourceLocationBrowser&lt;/code&gt;.

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

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.ui/schema/stringVariablePresentations.exsd b/org.eclipse.debug.ui/schema/stringVariablePresentations.exsd
deleted file mode 100644
index d81d9bd..0000000
--- a/org.eclipse.debug.ui/schema/stringVariablePresentations.exsd
+++ /dev/null
@@ -1,110 +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 &lt;code&gt;IArgumentSelector&lt;/code&gt;

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

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.ui/schema/variableValueEditors.exsd b/org.eclipse.debug.ui/schema/variableValueEditors.exsd
deleted file mode 100644
index 0afd186..0000000
--- a/org.eclipse.debug.ui/schema/variableValueEditors.exsd
+++ /dev/null
@@ -1,117 +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="variableValueEditors" name="Variable Value Editors"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for contributing variable value editors for a particular debug model. Variable value editors are used to edit/save variable values. When the user invokes the &quot;Change Value...&quot; or &quot;Assign Value&quot; (details pane) actions on a variable in the Variables view, the contributed &lt;code&gt;org.eclipse.debug.ui.actions.IVariableValueEditor&lt;/code&gt; will be invoked to change the value.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="variableValueEditor"/>
-         </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="variableValueEditor">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Implementation of &lt;code&gt;org.eclipse.debug.ui.actions.IVariableValueEditor&lt;/code&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="modelId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The debug model identifier for which the given variable value editor is applicable.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.debug.ui.variableValueEditors&quot;&gt;
-      &lt;variableEditor
-         modelId=&quot;com.examples.myDebugModel&quot;
-         class=&quot;com.examples.variables.MyVariableValueEditor&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;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.actions.IVariableValueEditor&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.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 6f8b99e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointImageProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 a09ae6d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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/CompositeDebugImageDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/CompositeDebugImageDescriptor.java
deleted file mode 100644
index e43235c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/CompositeDebugImageDescriptor.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-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 CompositeDebugImageDescriptor extends CompositeImageDescriptor {
-	
-	/** Flag to render the skip breakpoint adornment */
-	public final static int SKIP_BREAKPOINT= 			0x0001;
-	
-	private Image fBaseImage;
-	private int fFlags;
-	private Point fSize;
-	
-	/**
-	 * Create a new composite image descriptor.
-	 * 
-	 * @param baseImage an image used as the base image
-	 * @param flags flags indicating which adornments are to be rendered
-	 * 
-	 */
-	public CompositeDebugImageDescriptor(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 CompositeDebugImageDescriptor)){
-			return false;
-		}
-		CompositeDebugImageDescriptor other= (CompositeDebugImageDescriptor)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();
-		int x= 0;
-		int y= 0;
-		ImageData data= null;
-		if ((flags & SKIP_BREAKPOINT) != 0) {
-			x= 0;
-			y= 0;
-			data= DebugUITools.getImage(IDebugUIConstants.IMG_OVR_SKIP_BREAKPOINT).getImageData();
-			drawImage(data, x, y);
-		}
-	}
-	
-	protected Image getBaseImage() {
-		return fBaseImage;
-	}
-    
-    protected void setBaseImage(Image image) {
-        fBaseImage = image;
-    }
-
-	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/DebugPerspectiveFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
deleted file mode 100644
index 93b2f7d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 initial 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 2d2d544..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *     QNX Software Systems - Mikhail Khodjaiants - Bug 114664
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Path;
-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 and <code>ImageDescriptor</code>s.
-	 */
-	private static ImageRegistry imageRegistry;
-	
-	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$
-	
-	private static String ICONS_PATH = "$nl$/icons/full/"; //$NON-NLS-1$
-
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String CTOOL= ICONS_PATH + "etool16/"; //basic colors - size 16x16 //$NON-NLS-1$
-    private final static String DTOOL= ICONS_PATH + "dtool16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String DLCL= ICONS_PATH + "dlcl16/"; //disabled - size 16x16 //$NON-NLS-1$
-	private final static String ELCL= ICONS_PATH + "elcl16/"; //enabled - size 16x16 //$NON-NLS-1$
-	private final static String OBJECT= ICONS_PATH + "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String WIZBAN= ICONS_PATH + "wizban/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String OVR= ICONS_PATH + "ovr16/"; //basic colors - size 7x8 //$NON-NLS-1$
-	private final static String VIEW= ICONS_PATH + "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(IDebugUIConstants.IMG_LCL_REMOVE, ELCL + "rem_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_REMOVE, DLCL + "rem_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$		
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DUPLICATE_CONFIG, DLCL + "copy_edit_co.gif");   //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_NEW_CONFIG, DLCL + "new_con.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DELETE_CONFIG, DLCL + "rem_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_FILTER_CONFIGS, DLCL + "filter_ps.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DISCONNECT, DLCL + "disconnect_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_SUSPEND, DLCL + "suspend_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_RESUME, DLCL + "resume_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_STEP_RETURN, DLCL+ "stepreturn_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_STEP_OVER, DLCL + "stepover_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_STEP_INTO, DLCL + "stepinto_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_TERMINATE_AND_REMOVE, DLCL + "terminate_rem_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_TERMINATE_ALL, DLCL + "terminate_all_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_TERMINATE_AND_RELAUNCH, DTOOL + "term_restart.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_TOGGLE_STEP_FILTERS, DLCL+"stepbystep_co.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$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_REMOVE_ALL, ELCL + "rem_all_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_REMOVE, ELCL + "rem_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_HIERARCHICAL, ELCL + "hierarchicalLayout.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_FILTER_CONFIGS, ELCL + "filter_ps.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DUPLICATE_CONFIG, ELCL + "copy_edit_co.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_NEW_CONFIG, ELCL + "new_con.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DELETE_CONFIG, ELCL + "delete_config.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_SUSPEND, ELCL + "suspend_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_RESUME, ELCL + "resume_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_STEP_RETURN, ELCL + "stepreturn_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_STEP_OVER, ELCL + "stepover_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_STEP_INTO, ELCL + "stepinto_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DROP_TO_FRAME, ELCL + "drop_to_frame.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_TERMINATE_AND_REMOVE, ELCL + "terminate_rem_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_TERMINATE_ALL, ELCL + "terminate_all_co.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_TERMINATE_AND_RELAUNCH, CTOOL + "term_restart.gif"); //$NON-NLS-1$
-        declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_TOGGLE_STEP_FILTERS, ELCL+"stepbystep_co.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_BREAKPOINT_GROUP, OBJECT + "brkp_grp.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT_GROUP_DISABLED, OBJECT + "brkp_grp_disabled.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_ACCESS_WATCHPOINT, OBJECT + "read_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_ACCESS_WATCHPOINT_DISABLED, OBJECT + "read_obj_disabled.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_MODIFICATION_WATCHPOINT, OBJECT + "write_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_MODIFICATION_WATCHPOINT_DISABLED, OBJECT + "write_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(IDebugUIConstants.IMG_OBJS_INSTRUCTION_POINTER_TOP, OBJECT + "inst_ptr_top.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.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$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_BREAKPOINT_TYPE, OBJECT + "brkp_type.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.png"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_WIZBAN_RUN, WIZBAN + "run_wiz.png"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_WIZBAN_IMPORT_BREAKPOINTS, WIZBAN + "import_brkpts_wizban.png"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_WIZBAN_EXPORT_BREAKPOINTS, WIZBAN + "export_brkpts_wizban.png"); //$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$
-        declareRegistryImage(IDebugUIConstants.IMG_OVR_SKIP_BREAKPOINT, OVR + "skip_breakpoint_ov.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.png"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_EDIT_SRC_LOC_WIZ, WIZBAN + "edtsrclkup_wiz.png"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ADD_SRC_DIR_WIZ, WIZBAN + "adddir_wiz.png"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_EDIT_SRC_DIR_WIZ, WIZBAN + "editdir_wiz.png"); //$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];
-			ImageDescriptor descriptor = DebugUIPlugin.getImageDescriptor(configElement, ATTR_LAUNCH_CONFIG_TYPE_ICON);
-			if (descriptor == null) {
-				descriptor = ImageDescriptor.getMissingImageDescriptor();
-			}
-			String configTypeID = configElement.getAttribute(ATTR_LAUNCH_CONFIG_TYPE_ID);
-			if (configTypeID == null) {
-				// bug 12652
-				configTypeID = configElement.getAttribute("type"); //$NON-NLS-1$
-			}			
-			imageRegistry.put(configTypeID, descriptor);				
-		}
-	}
-
-	/**
-	 * 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();
-		Bundle bundle = Platform.getBundle(DebugUIPlugin.getUniqueIdentifier());
-		URL url = null;
-		if (bundle != null){
-			url = FileLocator.find(bundle, new Path(path), null);
-			desc = ImageDescriptor.createFromURL(url);
-		}
-		imageRegistry.put(key, desc);
-	}
-	
-	/**
-	 * Returns the ImageRegistry.
-	 */
-	public static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			initializeImageRegistry();
-		}
-		return imageRegistry;
-	}
-
-	/**
-	 *	Initialize the image registry by declaring all of the required
-	 *	graphics. This involves creating JFace image descriptors describing
-	 *	how to create/find the image should it be needed.
-	 *	The image is not actually allocated until requested.
-	 *
-	 * 	Prefix conventions
-	 *		Wizard Banners			WIZBAN_
-	 *		Preference Banners		PREF_BAN_
-	 *		Property Page Banners	PROPBAN_
-	 *		Color toolbar			CTOOL_
-	 *		Enable toolbar			ETOOL_
-	 *		Disable toolbar			DTOOL_
-	 *		Local enabled toolbar	ELCL_
-	 *		Local Disable toolbar	DLCL_
-	 *		Object large			OBJL_
-	 *		Object small			OBJS_
-	 *		View 					VIEW_
-	 *		Product images			PROD_
-	 *		Misc images				MISC_
-	 *
-	 *	Where are the images?
-	 *		The images (typically gifs) are found in the same location as this plugin class.
-	 *		This may mean the same package directory as the package holding this class.
-	 *		The images are declared using this.getClass() to ensure they are looked up via
-	 *		this plugin class.
-	 * @see org.eclipse.jface.resource.ImageRegistry
-	 */
-	public static ImageRegistry initializeImageRegistry() {
-		imageRegistry= new ImageRegistry(DebugUIPlugin.getStandardDisplay());
-		declareImages();
-		return imageRegistry;
-	}
-
-	/**
-	 * Returns the <code>Image</code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the <code>ImageDescriptor</code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		return getImageRegistry().getDescriptor(key);
-	}
-}
-
-
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 4853f64..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIAdapterFactory.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.launchConfigurations.PersistableLaunchConfigurationFactory;
-import org.eclipse.debug.internal.ui.launchConfigurations.PersistableLaunchConfigurationTypeFactory;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainerWorkbenchAdapter;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointPersistableElementAdapter;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter2;
-
-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);
-			} else if (obj instanceof IBreakpoint) {
-			    return new BreakpointPersistableElementAdapter((IBreakpoint)obj);
-            }
-		}
-        
-        if (adapterType == IWorkbenchAdapter.class) {
-        	if (obj instanceof IWorkbenchAdapter) {
-        		return obj;
-        	}
-            if (obj instanceof BreakpointContainer) {
-                return new BreakpointContainerWorkbenchAdapter();
-            }
-        }
-		
-        if (adapterType == IWorkbenchAdapter2.class) {
-            if (obj instanceof IWorkbenchAdapter2) {
-                return obj;
-            }
-            if (obj instanceof BreakpointContainer) {
-                return new BreakpointContainerWorkbenchAdapter();
-            }
-        }
-        
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {IPersistableElement.class, IWorkbenchAdapter.class, IWorkbenchAdapter2.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 2547060..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.debug.internal.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-public class DebugUIMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.DebugUIMessages";//$NON-NLS-1$
-
-    public static String AbstractAsyncTableRendering_2;
-
-	public static String DebugUIPlugin_23;
-	public static String DebugUIPlugin_24;
-	public static String DebugUIPlugin_0;
-	public static String DebugUIPlugin_Build_error__Check_log_for_details__2;
-	public static String DebugUIPlugin_Run_Debug_1;
-
-	public static String DebugUITools_8;
-
-	public static String DefaultLabelProvider__disconnected__1;
-	public static String DefaultLabelProvider_1;
-	public static String DefaultLabelProvider__unknown__1;
-	public static String DefaultLabelProvider_Breakpoint_1;
-	public static String DefaultLabelProvider_12;
-	public static String DefaultLabelProvider_13;
-	public static String DefaultLabelProvider_15;
-	public static String DefaultLabelProvider_16;
-	public static String MultipleInputDialog_6;
-	public static String MultipleInputDialog_7;
-	public static String MultipleInputDialog_8;
-
-	public static String SwitchMemoryBlockAction_4;
-
-	public static String WorkingDirectoryStatusHandler_Eclipse_Runtime_1;
-	public static String 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;
-
-	public static String DebugUITools_3;
-	public static String DebugUITools_Error_1;
-	public static String DebugUITools_Exception_occurred_during_launch_2;
-
-	public static String InstructionPointerAnnotation_0;
-	public static String InstructionPointerAnnotation_1;
-
-	public static String PopupInformationControl_1;
-	public static String DefaultLabelProvider_17;
-
-	//
-	// Action
-	//
-	public static String AddMemoryBlockAction_title;
-	public static String AddMemoryBlockAction_tooltip;
-	public static String AddMemoryBlockAction_failed;
-	public static String AddMemoryBlockAction_expressionEvalFailed;
-	public static String AddMemoryBlockAction_input_invalid;
-	public static String AddMemoryRenderingDialog_Memory_Monitor;
-	public static String AddMemoryRenderingAction_Add_renderings;
-	public static String AddMemoryRenderingDialog_Memory_renderings;
-	public static String AddMemoryRenderingDialog_Add_memory_rendering;
-	public static String AddMemoryRenderingAction_Add_rendering_failed;
-	public static String AddMemoryRenderingAction_Unable_to_add_selected_renderings;
-	public static String AddMemoryBlockAction_noMemoryBlock;
-	public static String AddMemoryRenderingDialog_Add_New;
-	public static String AddMemoryRenderingDialog_Unknown;
-	public static String RemoveMemoryBlockAction_title;
-	public static String RemoveMemoryBlockAction_tooltip;
-	public static String RemoveMemoryRenderingAction_Unknown;
-	public static String MemoryViewCellModifier_failure_title;
-	public static String MemoryViewCellModifier_failed;
-	public static String MemoryViewCellModifier_data_is_invalid;
-	public static String MemoryViewCellModifier_data_is_too_long;
-	public static String ResetMemoryBlockAction_title;
-	public static String ResetMemoryBlockAction_tootip;
-	public static String ResetMemoryBlockAction_Failed_to_Reset;
-	public static String ResetMemoryBlockAction_Failed_to_reset_to_base_address;
-	public static String GoToAddressAction_title;
-	public static String GoToAddressAction_Go_to_address_failed;
-	public static String GoToAddressAction_Address_is_invalid;
-	public static String GoToAddressAction_tooltip;
-	public static String FormatColumnAction_unit;
-	public static String FormatColumnAction_units;
-	public static String SetColumnSizeDefaultAction_Set_as_default;
-	public static String CopyViewToClipboardAction_title;
-	public static String CopyViewToClipboardAction_tooltip;
-	public static String PrintViewTabAction_title;
-	public static String PrintViewTabAction_tooltip;
-	public static String PrintViewTabAction_jobtitle;
-	public static String ReformatAction_title;
-	public static String SetDefaultColumnSizePrefAction_DefaultColumnSize;
-	public static String SetDefaultColumnSizePrefAction_SetDefaultColumnSize;
-
-	//
-	// Dialog
-	//
-	public static String MonitorMemoryBlockDialog_EnterExpressionToMonitor;
-	public static String MonitorMemoryBlockDialog_MonitorMemory;
-	public static String MonitorMemoryBlockDialog_NumberOfBytes;
-	public static String GoToAddressDialog_Address;
-	public static String GoToAddressDialog_GoToAddress;
-	public static String CodePagesPrefDialog_1;
-	public static String CodePagesPrefDialog_2;
-	public static String CodePagesPrefDialog_3;
-	public static String CodePagesPrefDialog_4;
-	public static String CodePagesPrefDialog_5;
-	public static String CodePagesPrefDialog_6;
-	public static String CodePagesPrefDialog_7;
-	public static String CodePagesPrefDialog_8;
-	public static String CodePagesPrefDialog_9;
-	public static String CodePagesPrefDialog_0;
-	public static String CodePagesPrefDialog_10;
-	public static String CodePagesPrefDialog_11;
-	public static String CodePagesPrefDialog_13;
-
-	//
-	// View Tab
-	//
-	public static String MemoryView_Memory_monitors;
-	public static String MemoryBlocksTreeViewPane_0;
-	public static String MemoryBlocksTreeViewPane_1;
-	public static String MemoryBlocksTreeViewPane_2;
-	public static String MemoryView_Memory_renderings;
-	public static String MemoryViewContentProvider_Unable_to_retrieve_content;
-
-	//
-	// Views
-	//
-	public static String MemoryRenderingView_Failed_to_create_rendering;
-	public static String MemoryRenderingView_Failed_to_create_the_selected_rendering;
-	public static String RenderingViewPane_NoViewTabFactory;
-	public static String RenderingViewPane_Failed_To_Create_Rendering;
-	public static String RemoveMemoryRenderingAction_Remove_rendering;
-	public static String RenderingViewPane_Failed_To_Create_Selected_Rendering;
-	public static String RemoveMemoryRenderingAction_Remove_monitor;
-	public static String EmptyViewTab_Unable_to_create;
-	public static String EmptyViewTab_Unknown;
-	public static String CreateRenderingTab_Memory_monitor;
-	public static String CreateRenderingTab_Select_renderings_to_create;
-	public static String CreateRenderingTab_Add_renderings;
-	public static String CreateRenderingTab_0;
-	public static String CreateRenderingTab_1;
-	public static String CreateRenderingTab_2;
-	public static String CreateRenderingTab_3;
-	public static String CreateRenderingTab_4;
-	public static String CreateRendering_0;
-	public static String CreateRendering_1;
-	public static String CreateRenderingTab_Create_memory_rendering;
-
-	//
-	// Managers
-	//
-	public static String MemoryRenderingManager_ErrorTitle;
-	public static String MemoryRenderingManager_ErrorMsg;
-	public static String ShowAddressColumnAction_0;
-	public static String ShowAddressColumnAction_1;
-	public static String ImageDescriptorRegistry_0;
-	public static String ErrorRendering_0;
-	public static String AbstractTableRendering_0;
-	public static String AbstractTableRendering_1;
-	public static String AbstractTableRendering_2;
-	public static String AbstractTableRendering_3;
-	public static String AbstractTableRendering_4;
-	public static String AbstractTableRendering_5;
-	public static String AbstractTableRendering_6;
-	public static String AbstractTableRendering_8;
-	public static String AbstractTableRendering_9;
-	public static String AbstractTableRendering_10;
-	public static String AbstractTableRendering_11;
-	public static String AbstractTableRendering_12;
-	public static String AbstractTableRendering_13;
-	public static String AbstractTableRendering_16;
-	public static String AbstractTableRendering_18;
-	public static String AbstractTableRendering_20;
-	public static String SetPaddedStringDialog_0;
-	public static String SetPaddedStringDialog_1;
-	public static String SetPaddedStringDialog_3;
-	public static String SetPaddedStringDialog_4;
-
-
-	public static String TableRenderingPropertiesPage_1;
-	public static String TableRenderingPropertiesPage_2;
-	public static String TableRenderingPropertiesPage_3;
-	public static String TableRenderingPropertiesPage_4;
-	public static String TableRenderingPropertiesPage_5;
-	public static String TableRenderingPropertiesPage_6;
-	public static String TableRenderingPropertiesPage_8;
-	public static String TableRenderingPropertiesPage_9;
-	public static String TableRenderingPropertiesPage_10;
-	public static String TableRenderingPropertiesPage_11;
-	public static String TableRenderingPropertiesPage_12;
-	public static String TableRenderingPropertiesPage_13;
-	public static String TableRenderingPropertiesPage_14;
-	public static String TableRenderingPropertiesPage_15;
-	public static String TableRenderingPropertiesPage_16;
-	public static String TableRenderingPropertiesPage_17;
-	public static String TableRenderingPropertiesPage_18;
-	public static String TableRenderingPropertiesPage_19;
-	public static String TableRenderingPropertiesPage_20;
-	public static String TableRenderingPropertiesPage_21;
-	public static String TableRenderingPropertiesPage_22;
-	public static String TableRenderingPropertiesPage_23;
-	public static String TableRenderingPropertiesPage_25;
-	public static String TableRenderingPropertiesPage_26;
-	public static String TableRenderingPrefAction_0;
-	public static String TableRenderingPreferencePage_0;
-	public static String TableRenderingPreferencePage_1;
-	public static String TableRenderingPreferencePage_2;
-	public static String TableRenderingPreferencePage_3;
-	public static String TableRenderingPreferencePage_4;
-	public static String TableRenderingContentProvider_0;
-	public static String TableRenderingContentProvider_1;
-	public static String TableRenderingContentProvider_2;
-	public static String AddMemoryBlocksComposite_0;
-	public static String AddMemoryBlocksComposite_1;
-	public static String AddMemoryBlocksComposite_2;
-	public static String SwitchMemoryBlockAction_0;
-	public static String SwitchMemoryBlockAction_3;
-	public static String ResetMemoryBlockPreferencePage_0;
-	public static String ResetMemoryBlockPreferencePage_1;
-	public static String ResetMemoryBlockPreferencePage_2;
-	public static String ResetMemoryBlockPreferencePage_3;
-	public static String FormatTableRenderingAction_0;
-	public static String FormatTableRenderingAction_1;
-	public static String FormatTableRenderingAction_2;
-	public static String FormatTableRenderingAction_3;
-	public static String FormatTableRenderingAction_4;
-	public static String FormatTableRenderingAction_5;
-	public static String FormatTableRenderingAction_6;
-	public static String FormatTableRenderingAction_7;
-	public static String FormatTableRenderingAction_8;
-	public static String FormatTableRenderingAction_9;
-	public static String FormatTableRenderingAction_11;
-	public static String FormatTableRenderingAction_13;
-	public static String FormatTableRenderingAction_15;
-	public static String FormatTableRenderingAction_16;
-	public static String TableRenderingPreferencePage_5;
-	public static String TableRenderingPreferencePage_6;
-	public static String FormatTableRenderingDialog_0;
-	public static String FormatTableRenderingDialog_1;
-	public static String FormatTableRenderingDialog_2;
-	public static String FormatTableRenderingDialog_3;
-	public static String FormatTableRenderingDialog_4;
-	public static String FormatTableRenderingDialog_5;
-	public static String AbstractAsyncTableRendering_0;
-	public static String AbstractAsyncTableRendering_1;
-	public static String CreateRendering_2;
-	public static String SetPaddedStringPreferencePage_0;
-	public static String ViewPaneOrientationAction_0;
-	public static String ViewPaneOrientationAction_1;
-	public static String ViewPaneOrientationAction_2;
-	public static String ViewPaneOrientationAction_3;
-	public static String GoToAddressComposite_0;
-	public static String GoToAddressComposite_1;
-	public static String GoToAddressComposite_2;
-	public static String GoToAddressComposite_3;
-	public static String GoToAddressComposite_4;
-	public static String GoToAddressComposite_5;
-	public static String GoToAddressComposite_6;
-	public static String GoToAddressComposite_7;
-	
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, DebugUIMessages.class);
-	}
-}
\ No newline at end of file
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 197a892..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties
+++ /dev/null
@@ -1,255 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-DebugUIPlugin_23=Build in Progress
-DebugUIPlugin_24=Wait for build to finish?
-DebugUIPlugin_0=\ (waiting for build...)
-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
-AddMemoryBlocksComposite_0=Expression: 
-AddMemoryBlocksComposite_1=Length: 
-AddMemoryBlocksComposite_2=Add Memory Monitor
-AddMemoryBlockAction_tooltip=Add Memory Monitor
-AddMemoryBlockAction_failed =Add Memory Monitor Failed.
-AddMemoryBlockAction_expressionEvalFailed = Expression cannot be evaluated to an address.
-AddMemoryBlockAction_input_invalid = Input is invalid.
-AddMemoryRenderingDialog_Memory_Monitor=Memory Monitor
-AddMemoryRenderingAction_Add_renderings=Add Rendering(s)
-AddMemoryRenderingDialog_Memory_renderings=Memory Rendering(s)
-AddMemoryRenderingDialog_Add_memory_rendering=Add Memory Rendering
-AddMemoryRenderingAction_Add_rendering_failed=Add Rendering Failed
-AddMemoryRenderingAction_Unable_to_add_selected_renderings=Unable to add the selected rendering(s)
-AddMemoryBlockAction_noMemoryBlock = Failed to get memory monitor.
-AddMemoryRenderingDialog_Add_New=Add New...
-AddMemoryRenderingDialog_Unknown=Unknown
-RemoveMemoryBlockAction_title=Remove Memory Monitor
-RemoveMemoryBlockAction_tooltip=Remove Memory Monitor
-RemoveMemoryRenderingAction_Unknown=Unknown
-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
-ResetMemoryBlockPreferencePage_0=Reset Memory Monitor
-ResetMemoryBlockPreferencePage_1=When resetting memory monitor:
-ResetMemoryBlockPreferencePage_2=Reset visible renderings
-ResetMemoryBlockPreferencePage_3=Reset all renderings
-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...
-GoToAddressComposite_0=Go to Address:
-GoToAddressComposite_1=OK
-GoToAddressComposite_2=Cancel
-GoToAddressComposite_3=Offset
-GoToAddressComposite_4=Go to Offset:
-GoToAddressComposite_5=Jump Memory Units:
-GoToAddressComposite_6=Input as Hex
-GoToAddressComposite_7=Unable to calculate address from offset.
-GoToAddressAction_Go_to_address_failed = Go To Address Failed
-GoToAddressAction_Address_is_invalid = Address is invalid
-GoToAddressAction_tooltip = Go to Address...
-FormatColumnAction_unit = unit
-FormatColumnAction_units = units
-FormatTableRenderingAction_0=Format...
-FormatTableRenderingAction_1=Please specify column and row size.
-FormatTableRenderingAction_2=Row Size:
-FormatTableRenderingAction_3=unit(s) per row
-FormatTableRenderingAction_4=Column Size:
-FormatTableRenderingAction_5=unit(s) per column
-FormatTableRenderingAction_6=Restore Defaults
-FormatTableRenderingAction_7=Preview:
-FormatTableRenderingAction_8=Save as Defaults
-FormatTableRenderingAction_9=Preview is not available.
-FormatTableRenderingDialog_0=Default Row Size:
-FormatTableRenderingDialog_1=unit(s) per row
-FormatTableRenderingDialog_2=Default Column Size:
-FormatTableRenderingDialog_3=unit(s) per column
-FormatTableRenderingDialog_4=Failed to Save Settings
-FormatTableRenderingDialog_5=Default settings cannot be saved.
-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 = Resize to Fit
-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...
-CodePagesPrefDialog_1=Select Codepages
-CodePagesPrefDialog_2=Memory to ASCII strings:
-CodePagesPrefDialog_3=Change...
-CodePagesPrefDialog_4=Memory to EBCDIC strings:
-CodePagesPrefDialog_5=Change...
-CodePagesPrefDialog_6=Invalid codepage
-CodePagesPrefDialog_7=ASCII codepage entered is invalid.
-CodePagesPrefDialog_8=Invalid codepage
-CodePagesPrefDialog_9=EBCDIC codepage entered is invalid.
-CodePagesPrefDialog_0=The codepage is not supported.
-CodePagesPrefDialog_10=Select Codepage
-CodePagesPrefDialog_11=Select Codepage
-CodePagesPrefDialog_13=Restore Defaults
-
-##############################################################
-# View Tab
-##############################################################
-MemoryView_Memory_monitors=Monitors
-MemoryBlocksTreeViewPane_0=Remove All Memory Monitors
-MemoryBlocksTreeViewPane_1=Are you sure you want to remove all memory monitors?
-MemoryBlocksTreeViewPane_2=Remove All
-MemoryView_Memory_renderings=Renderings
-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.
-RenderingViewPane_NoViewTabFactory=ViewTabFactory property is not defined for:
-RenderingViewPane_Failed_To_Create_Rendering=Failed to create rendering
-RemoveMemoryRenderingAction_Remove_rendering=Remove Rendering
-RenderingViewPane_Failed_To_Create_Selected_Rendering=Failed to create the selected rendering.
-RemoveMemoryRenderingAction_Remove_monitor=Remove Monitor
-EmptyViewTab_Unable_to_create=Unable to create
-EmptyViewTab_Unknown=Unknown
-CreateRenderingTab_Memory_monitor=Memory Monitor:
-CreateRenderingTab_Select_renderings_to_create=Select rendering(s) to create:
-CreateRenderingTab_Add_renderings=Add Rendering(s)
-CreateRenderingTab_0=No rendering is selected.
-CreateRenderingTab_1=Add Rendering Failed
-CreateRenderingTab_2=No rendering is selected.
-CreateRenderingTab_3=Add Rendering Failed
-CreateRenderingTab_4=Failed to add the selected rendering.
-CreateRendering_0=Add Memory Rendering Failed
-CreateRendering_1=Unable to add the selected rendering.
-CreateRendering_2=Pending
-CreateRenderingTab_Create_memory_rendering=Create Memory Rendering
-
-##############################################################
-# Managers
-##############################################################
-MemoryRenderingManager_ErrorTitle = Create Rendering Error
-MemoryRenderingManager_ErrorMsg = The selected rendering cannot be created.
-ShowAddressColumnAction_0=Hide Address Column
-ShowAddressColumnAction_1=Show Address Column
-ImageDescriptorRegistry_0=Allocating image for wrong display
-ErrorRendering_0=Reason:\n
-AbstractTableRendering_0=Format of the rendering is invalid
-AbstractTableRendering_1=Unable to get the base address from the memory block.
-AbstractTableRendering_2=Address
-AbstractTableRendering_3=Error occurred:\n
-AbstractTableRendering_5=Column Size
-AbstractTableRendering_8=Unknown
-AbstractTableRendering_9=Unknown
-AbstractTableRendering_4=Next Page
-AbstractTableRendering_6=Previous Page
-AbstractTableRendering_10=Unable to get base address.
-AbstractTableRendering_11=Address is out of range.
-AbstractTableRendering_12=Reset Failed.
-AbstractTableRendering_13=Unable to reset to the base address.
-AbstractTableRendering_20=Default format is invalid:
-AbstractTableRendering_16=Please specify row and column sizes to use.
-AbstractTableRendering_18=Save these settings to avoid this problem in the future.
-AbstractAsyncTableRendering_0=Pending...
-AbstractAsyncTableRendering_1=Pending...
-AbstractAsyncTableRendering_2=Create Table Rendering
-SetPaddedStringDialog_0=Padded String
-SetPaddedStringDialog_1=Enter string to show unretrievable memory.
-SetPaddedStringDialog_3=Error in Padded String
-SetPaddedStringDialog_4=The padded string cannot be empty.
-SetPaddedStringPreferencePage_0=Padded String:
-TableRenderingPropertiesPage_1=Rendering:
-TableRenderingPropertiesPage_2=Selected Address:
-TableRenderingPropertiesPage_3=units
-TableRenderingPropertiesPage_4=Length:
-TableRenderingPropertiesPage_5=Selected Content:
-TableRenderingPropertiesPage_6=Addressable Size:
-TableRenderingPropertiesPage_8=bits
-TableRenderingPropertiesPage_9=Changed:
-TableRenderingPropertiesPage_10=Changed:
-TableRenderingPropertiesPage_11=Unknown
-TableRenderingPropertiesPage_12=Unknown
-TableRenderingPropertiesPage_13=Big Endian
-TableRenderingPropertiesPage_14=Little Endian
-TableRenderingPropertiesPage_15=Unknown
-TableRenderingPropertiesPage_16=Data Endianess:
-TableRenderingPropertiesPage_17=Unknown
-TableRenderingPropertiesPage_18=Big Endian
-TableRenderingPropertiesPage_19=Little Endian
-TableRenderingPropertiesPage_20=Unknown
-TableRenderingPropertiesPage_21=Display Endianess:
-TableRenderingPropertiesPage_22=Readable:
-TableRenderingPropertiesPage_23=Writable:
-TableRenderingPropertiesPage_25=Line Address:
-TableRenderingPropertiesPage_26=Units Per Line:
-TableRenderingContentProvider_0=Unable to load memory from the specified address: 0x
-TableRenderingContentProvider_1=Buffer start and end address are invalid.
-TableRenderingContentProvider_2=Buffer start and end address are invalid.
-TableRenderingPreferencePage_0=Default &Column Size:
-TableRenderingPreferencePage_1=Automatically load next page of memory when scrolled to end of buffer
-TableRenderingPreferencePage_2=Number of Lines per Page:
-TableRenderingPreferencePage_3=Page size cannot be less than 1.
-TableRenderingPreferencePage_4=Page size is invalid.
-TableRenderingPreferencePage_5=Default &Row Size:
-TableRenderingPreferencePage_6=Row size cannot be larger than column size.
-TableRenderingPrefAction_0=Table Renderings
-SwitchMemoryBlockAction_0=Unknown
-SwitchMemoryBlockAction_3=Unknown
-SwitchMemoryBlockAction_4=Pending
-FormatTableRenderingAction_11=Format specified is invalid.
-FormatTableRenderingAction_13=Column size cannot be larger than the row size.
-FormatTableRenderingAction_15=<Address>
-FormatTableRenderingAction_16=&Format...
-ViewPaneOrientationAction_0=Horizontal Orientation
-ViewPaneOrientationAction_1=Horizontal Orientation
-ViewPaneOrientationAction_2=Vertical Orientation
-ViewPaneOrientationAction_3=Vertical Orientation
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 0d72bf6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
+++ /dev/null
@@ -1,1068 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
-import com.ibm.icu.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.FileLocator;
-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.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.IJobChangeListener;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-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.IStatusHandler;
-import org.eclipse.debug.core.Launch;
-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.IDropToFrame;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-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.IStep;
-import org.eclipse.debug.core.model.IStepFilters;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.core.model.ITerminate;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.actions.context.ActionAdapterFactory;
-import org.eclipse.debug.internal.ui.contexts.SuspendTriggerAdapterFactory;
-import org.eclipse.debug.internal.ui.launchConfigurations.ClosedProjectFilter;
-import org.eclipse.debug.internal.ui.launchConfigurations.DeletedProjectFilter;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTypeFilter;
-import org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.WorkingSetsFilter;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupFacility;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupManager;
-import org.eclipse.debug.internal.ui.stringsubstitution.SelectedResourceManager;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointOrganizerManager;
-import org.eclipse.debug.internal.ui.views.breakpoints.OtherBreakpointCategory;
-import org.eclipse.debug.internal.ui.views.console.ProcessConsoleManager;
-import org.eclipse.debug.internal.ui.views.launch.DebugElementAdapterFactory;
-import org.eclipse.debug.internal.ui.views.launch.DebugElementHelper;
-import org.eclipse.debug.internal.ui.views.memory.renderings.MemorySegment;
-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.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-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.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-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$
-	
-	/**
-	 * Singleton console document manager
-	 */
-	private ProcessConsoleManager fProcessConsoleManager = null;
-	
-	/**
-	 * Perspective manager
-	 */
-	private PerspectiveManager fPerspectiveManager = null;
-	
-	/**
-	 * Launch configuration manager
-	 */
-	private LaunchConfigurationManager fLaunchConfigurationManager = null;
-	
-	/**
-	 * Step filter manager
-	 */
-	private StepFilterManager fStepFilterManager = null;
-    
-    /**
-     * Image descriptor registry used for images with common overlays.
-     * 
-     * @since 3.1
-     */
-    private ImageDescriptorRegistry fImageDescriptorRegistry;
-    
-    /**
-     * Service tracker and service used for finding plug-ins associated
-     * with a class.
-     */
-    private ServiceTracker fServiceTracker;
-    private PackageAdmin fPackageAdminService;
-    
-    public static boolean DEBUG = false;
-	
-    /**
-     * Dummy launch node representing a launch that is waiting
-     * for a build to finish before proceeding. This node exists
-     * to provide immediate feedback to the user in the Debug view and
-     * allows termination, which equates to cancellation of the launch.
-     */
-	public static class PendingLaunch extends Launch {
-        private Job fJob;
-        public PendingLaunch(ILaunchConfiguration launchConfiguration, String mode, Job job) {
-            super(launchConfiguration, mode, null);
-            fJob= job;
-        }
-
-        // Allow the user to terminate the dummy launch as a means of
-        // cancelling the launch while waiting for a build to finish.
-        public boolean canTerminate() {
-            return true;
-        }
-
-        public void terminate() throws DebugException {
-            fJob.cancel();
-        }
-    }
-	
-	/**
-	 * Returns the bundle the given class originated from.
-	 * 
-	 * @param clazz a class
-	 * @return the bundle the given class originated from, or <code>null</code>
-	 * 	if unable to be determined
-	 * @since 3.1
-	 */
-	public Bundle getBundle(Class clazz) {
-		if (fPackageAdminService != null) {
-			return fPackageAdminService.getBundle(clazz);
-		}
-		return null;
-	}
-	
-	/**
-	 * Constructs the debug UI plugin
-	 */
-	public DebugUIPlugin() {
-		super();
-		fgDebugUIPlugin= this;
-	}
-	
-	public static void debug(String message) {
-		if (DEBUG) {
-			System.out.println(message);
-		}
-	}
-		
-	/**
-	 * 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;
-	}
-	
-	/**
-	 * 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.getContributor().getName());
-		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 (fProcessConsoleManager != null) {
-                fProcessConsoleManager.shutdown();
-            }
-            
-            BreakpointOrganizerManager.getDefault().shutdown();
-            
-			if (fPerspectiveManager != null) {
-				fPerspectiveManager.shutdown();
-			}
-			if (fLaunchConfigurationManager != null) {
-				fLaunchConfigurationManager.shutdown();
-			}
-			
-			if (fStepFilterManager != null) {
-				fStepFilterManager.shutdown();
-			}
-			
-			ColorManager.getDefault().dispose();
-			
-			if (fgPresentation != null) {
-				fgPresentation.dispose();
-			}
-            
-            if (fImageDescriptorRegistry != null) {
-                fImageDescriptorRegistry.dispose();
-            }
-            
-            SourceLookupFacility.shutdown();
-			
-			DebugElementHelper.dispose();
-			
-			fServiceTracker.close();
-			fPackageAdminService = null;
-			
-		} finally {
-			super.stop(context);
-		}
-	}
-
-	/**
-	 * @see AbstractUIPlugin#startup()
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		
-		DEBUG = "true".equals(Platform.getDebugOption("org.eclipse.debug.ui/debug"));  //$NON-NLS-1$//$NON-NLS-2$
-		
-		// make sure the perspective manager is created
-		// and be the first debug event listener
-		fPerspectiveManager = new PerspectiveManager();
-		fPerspectiveManager.startup();		
-		
-		// Listen to launches to lazily create "launch processors"
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-        
-        // start the breakpoint organizer manager
-        BreakpointOrganizerManager.getDefault();
-		
-		IAdapterManager manager= Platform.getAdapterManager();
-		DebugElementAdapterFactory propertiesFactory = new DebugElementAdapterFactory();
-		manager.registerAdapters(propertiesFactory, ILaunchManager.class);
-		manager.registerAdapters(propertiesFactory, ILaunch.class);
-		manager.registerAdapters(propertiesFactory, IDebugTarget.class);
-		manager.registerAdapters(propertiesFactory, IProcess.class);
-		manager.registerAdapters(propertiesFactory, IThread.class);
-		manager.registerAdapters(propertiesFactory, IStackFrame.class);
-		manager.registerAdapters(propertiesFactory, IRegisterGroup.class);
-		manager.registerAdapters(propertiesFactory, IVariable.class);
-		manager.registerAdapters(propertiesFactory, IRegister.class);
-		manager.registerAdapters(propertiesFactory, IExpression.class);
-		manager.registerAdapters(propertiesFactory, IExpressionManager.class);
-        manager.registerAdapters(propertiesFactory, OtherBreakpointCategory.class);
-        manager.registerAdapters(propertiesFactory, IDebugElement.class);
-        manager.registerAdapters(propertiesFactory, IMemoryBlockRetrieval.class);
-        manager.registerAdapters(propertiesFactory, MemorySegment.class);
-		DebugUIAdapterFactory uiFactory = new DebugUIAdapterFactory();
-		manager.registerAdapters(uiFactory, ILaunchConfiguration.class);
-		manager.registerAdapters(uiFactory, ILaunchConfigurationType.class);
-		SuspendTriggerAdapterFactory factory = new SuspendTriggerAdapterFactory();
-		manager.registerAdapters(factory, ILaunch.class);
-		
-		//action adapters
-		ActionAdapterFactory actionFactory = new ActionAdapterFactory();
-		manager.registerAdapters(actionFactory, IDisconnect.class);
-		manager.registerAdapters(actionFactory, IDropToFrame.class);
-		manager.registerAdapters(actionFactory, IStep.class);
-		manager.registerAdapters(actionFactory, IStepFilters.class);
-		manager.registerAdapters(actionFactory, ISuspendResume.class);
-		manager.registerAdapters(actionFactory, ITerminate.class);
-		manager.registerAdapters(actionFactory, ILaunch.class);
-		manager.registerAdapters(actionFactory, IProcess.class);
-		manager.registerAdapters(actionFactory, IDebugElement.class);
-		
-		getStandardDisplay().asyncExec(
-			new Runnable() {
-				public void run() {
-					//initialize the selected resource `
-					SelectedResourceManager.getDefault();
-					// forces launch shortcuts to be intialized so their key-bindings work
-					getLaunchConfigurationManager().getLaunchShortcuts();
-				}
-			});	
-		
-		fServiceTracker = new ServiceTracker(context, PackageAdmin.class.getName(), null);
-		fServiceTracker.open();
-		fPackageAdminService = (PackageAdmin) fServiceTracker.getService();
-		
-	}
-
-	/**
-	 * 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 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
-	 * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
-	 * of resources that are only involved in the current launch, no longer the entire workspace
-	 */
-	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.
-	 * 
-	 * @deprecated this method is no longer to be used. It is an artifact from 2.0, and all saving is now done with the
-	 * launch delegate <code>LaunchConfigurationDelegate</code>
-	 */
-	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.DebugUIPlugin_Run_Debug_1; 
-			String message= DebugUIMessages.DebugUIPlugin_Build_error__Check_log_for_details__2; 
-			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 process console manager. The manager will be created lazily on 
-	 * the first access.
-	 * 
-	 * @return ProcessConsoleManager
-	 */
-	public ProcessConsoleManager getProcessConsoleManager() {
-		if (fProcessConsoleManager == null) {
-			fProcessConsoleManager = new ProcessConsoleManager();
-		}
-		return fProcessConsoleManager;
-	}
-	
-	/**
-	 * 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;
-	}
-		
-	/**
-	 * 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);
-		getProcessConsoleManager().startup();
-		
-		if (fStepFilterManager == null) {
-			getStepFilterManager().launchAdded(launch);
-		}
-		
-		getLaunchConfigurationManager().startup();
-		SourceLookupManager.getDefault();
-	}
-	
-	/**
-	 * Returns the perspective manager.
-	 * 
-	 * @return
-	 */
-	public PerspectiveManager getPerspectiveManager() {
-		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 
-	 * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
-	 * of resources that are only involved in the current launch, no longer the entire workspace
-	 */
-	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) {
-		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.DebugUIPlugin_23, DebugUIMessages.DebugUIPlugin_24, null, false, store, IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD); // 
-				
-				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_MANUAL_BUILD, monitor);
-						jobManager.join(ResourcesPlugin.FAMILY_AUTO_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;
-				}
-			}
-			if ((ce.getStatus().getSeverity() & (IStatus.ERROR | IStatus.WARNING)) == 0) {
-				// If the exception is a CoreException with a status other
-				// than ERROR or WARNING, don't open an error dialog.
-				return;
-			}
-		}
-		DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIMessages.DebugUITools_Error_1, DebugUIMessages.DebugUITools_Exception_occurred_during_launch_2, t); // 		
-	}
-	
-	/**
-	 * 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) {
-		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.DebugUIPlugin_23, DebugUIMessages.DebugUIPlugin_24, null, false, store, IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD); // 
-				
-				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.DebugUITools_3) { 
-			public IStatus run(final IProgressMonitor monitor) {
-				try {
-					if(waitInJob) {						
-						StringBuffer buffer= new StringBuffer(configuration.getName());
-						buffer.append(DebugUIMessages.DebugUIPlugin_0); 
-						ILaunchConfigurationWorkingCopy workingCopy= configuration.copy(buffer.toString());
-						workingCopy.setAttribute(ATTR_LAUNCHING_CONFIG_HANDLE, configuration.getMemento());
-						final ILaunch pendingLaunch= new PendingLaunch(workingCopy, mode, this);
-                        
-						DebugPlugin.getDefault().getLaunchManager().addLaunch(pendingLaunch);
-                        IJobChangeListener listener= new IJobChangeListener() {
-                            public void sleeping(IJobChangeEvent event) {
-                            }
-                            public void scheduled(IJobChangeEvent event) {
-                            }
-                            public void running(IJobChangeEvent event) {
-                            }
-                            public void done(IJobChangeEvent event) {
-                                DebugPlugin.getDefault().getLaunchManager().removeLaunch(pendingLaunch);
-                                removeJobChangeListener(this);
-                            }
-                            public void awake(IJobChangeEvent event) {
-                            }
-                            public void aboutToRun(IJobChangeEvent event) {
-                            }
-                        };
-                        addJobChangeListener(listener);
-
-						try {
-							jobManager.join(ResourcesPlugin.FAMILY_MANUAL_BUILD, monitor);
-							jobManager.join(ResourcesPlugin.FAMILY_AUTO_BUILD, monitor);
-						} catch (InterruptedException e) {
-							// just continue.
-						}
-                        DebugPlugin.getDefault().getLaunchManager().removeLaunch(pendingLaunch);
-					}
-					
-					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.DebugUITools_8); 
-		if (wait) {
-			progressService.showInDialog(workbench.getActiveWorkbenchWindow().getShell(), job); 
-		}
-		job.schedule();
-	}
-
-	/**
-	 * Returns the label with any accelerators 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) {
-                //DBCS languages use "(&X)" format
-                if (title.charAt(index - 1) == '(' && title.length() >= index + 3 && title.charAt(index + 2) == ')') {
-                    String first = title.substring(0, index - 1);
-                    String last = title.substring(index + 3);
-                    title = first + last;
-                } else if (index < (title.length() - 1)) {
-                    String first = title.substring(0, index);
-                    String last = title.substring(index + 1);
-                    title = first + last;
-                }
-            }
-        }
-        return title;
-    }
-
-    /**
-     * Returns the image descriptor registry used for this plugin.
-     * 
-     * @since 3.1
-     */
-    public static ImageDescriptorRegistry getImageDescriptorRegistry() {
-        if (getDefault().fImageDescriptorRegistry == null) {
-            getDefault().fImageDescriptorRegistry = new ImageDescriptorRegistry();
-        }
-        return getDefault().fImageDescriptorRegistry;
-    }
-    
-    /**
-     * Returns an image descriptor for the icon referenced by the given attribute
-     * and configuration element, or <code>null</code> if none.
-     * 
-     * @param element
-     * @param attr
-     * @return image descriptor or <code>null</code>
-     */
-    public static ImageDescriptor getImageDescriptor(IConfigurationElement element, String attr) {
-		Bundle bundle = Platform.getBundle(element.getContributor().getName());
-		String iconPath = element.getAttribute(attr);
-		if (iconPath != null) {
-			URL iconURL = FileLocator.find(bundle , new Path(iconPath), null);
-			if (iconURL != null) {
-				return ImageDescriptor.createFromURL(iconURL);
-			}
-		}    	
-		return null;
-    }
-    
-    /**
-	 * Performs extra filtering for launch configurations based on the prefs set on the 
-	 * Launch Configurations page
-	 * @param config the config to filter
-	 * @return true if it should pass the filter, false otherwise
-	 * @since 3.2
-	 */
-	public static boolean doLaunchConfigurationFiltering(ILaunchConfiguration config) {
-		boolean ret = true;
-		if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED)) {
-			ret &= new ClosedProjectFilter().select(null, null, config);
-		}
-		if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED)) {
-			ret &= new DeletedProjectFilter().select(null, null, config);
-		}
-		if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS)) {
-			ret &= new WorkingSetsFilter().select(null, null, config);
-		}
-		if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES)) {
-			try {
-				ret &= new LaunchConfigurationTypeFilter().select(null, null, config.getType());
-			}
-			catch(CoreException e) {
-			    DebugUIPlugin.log(e);
-			}
-		}
-		return ret;
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java
deleted file mode 100644
index f1c8e08..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.graphics.RGB;
-
-public class DebugUIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	public DebugUIPreferenceInitializer() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore prefs = DebugUIPlugin.getDefault().getPreferenceStore();
-//		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);
-		
-		//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);
-		
-		// colors
-		PreferenceConverter.setDefault(prefs, IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR, new RGB(0, 0, 0));
-		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, IInternalDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND, new RGB(255, 255, 0));
-		PreferenceConverter.setDefault(prefs, IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR, new RGB(114, 119, 129));
-		PreferenceConverter.setDefault(prefs, IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR, new RGB(0, 0, 0));
-
-		//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, IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR, new RGB(255, 0, 0));
-		prefs.setDefault(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP, false);
-		prefs.setDefault(IDebugUIConstants.PREF_MAX_DETAIL_LENGTH, 10000);
-		
-		//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
-		//TODO: revert once API freeze is over
-		prefs.setDefault(IInternalDebugUIConstants.PREF_USE_STEP_FILTERS/*IDebugUIConstants.PREF_USE_STEP_FILTERS*/, false);
-		
-		// set default for column size preference
-		prefs.setDefault(IDebugPreferenceConstants.PREF_COLUMN_SIZE, 
-				IDebugPreferenceConstants.PREF_COLUMN_SIZE_DEFAULT);
-		
-		// set default for row size preference
-		prefs.setDefault(IDebugPreferenceConstants.PREF_ROW_SIZE, 
-				IDebugPreferenceConstants.PREF_ROW_SIZE_DEFAULT);
-		
-		// set default padded string
-		prefs.setDefault(IDebugUIConstants.PREF_PADDED_STR, 
-				IDebugPreferenceConstants.PREF_PADDED_STR_DEFAULT);
-		
-		// set default code page for ascii and ebcdic 
-		prefs.setDefault(IDebugUIConstants.PREF_DEFAULT_ASCII_CODE_PAGE, 
-				IDebugPreferenceConstants.DEFAULT_ASCII_CP);
-		prefs.setDefault(IDebugUIConstants.PREF_DEFAULT_EBCDIC_CODE_PAGE, 
-				IDebugPreferenceConstants.DEFAULT_EBCDIC_CP);
-		
-		if (MemoryViewUtil.isLinuxGTK())
-			prefs.setDefault(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM, false);
-		else
-			prefs.setDefault(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM, true);
-		
-		prefs.setDefault(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE, IDebugPreferenceConstants.DEFAULT_PAGE_SIZE);
-		prefs.setDefault(IDebugPreferenceConstants.PREF_RESET_MEMORY_BLOCK, IDebugPreferenceConstants.RESET_VISIBLE);
-		
-		/**
-		 * new launch configuration filtering options
-		 * @since 3.2
-		 */
-		prefs.setDefault(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED, true);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED, true);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS, true);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES, false);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, MessageDialogWithToggle.PROMPT);
-	}
-}
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 ca5306e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import com.ibm.icu.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.core.model.IWatchpoint;
-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 ILaunch) {
-			return null;
-		}
-		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;
-				} 
-				return IDebugUIConstants.IMG_OBJS_VARIABLE;
-			} else if (element instanceof IStackFrame) {
-				if (((IStackFrame)element).getThread().isSuspended()) {
-					return IDebugUIConstants.IMG_OBJS_STACKFRAME;
-				}
-				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;
-				} 
-				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.DefaultLabelProvider_16, new String[]{new Integer(exit).toString()}); 
-					} else {
-						terminatedMessage= DebugUIMessages.DefaultLabelProvider_1; 
-					}
-					label.insert(0, terminatedMessage);
-				}
-			} else if (element instanceof IDisconnect) {
-				if (((IDisconnect) element).isDisconnected()) {
-					label.insert(0, DebugUIMessages.DefaultLabelProvider__disconnected__1); 
-				}
-			}
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-			label.append(DebugUIMessages.DefaultLabelProvider__unknown__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.DefaultLabelProvider_17, new String[]{Integer.toString(lineNumber)})); 
-			} 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.DefaultLabelProvider__unknown__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.DefaultLabelProvider__unknown__1; 
-		} 
-		// 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) {
-			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.DefaultLabelProvider_12); 
-		} else if (expression.hasErrors()) {
-			result.append(DebugUIMessages.DefaultLabelProvider_13); 
-		} 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.DefaultLabelProvider_15); 
-		}
-		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.DefaultLabelProvider_Breakpoint_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;
-				} 
-				return IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED;
-			}
-		} catch (CoreException e) {
-		}
-		return null;
-	}
-	
-	protected String getBreakpointImageKey(IBreakpoint breakpoint) {
-		if (breakpoint != null && breakpoint.getMarker().exists()) {
-		    try {
-			    boolean enabled = breakpoint.isEnabled();
-			    if (breakpoint instanceof IWatchpoint) {
-	                IWatchpoint watchpoint = (IWatchpoint) breakpoint;
-	        		if (watchpoint.isAccess()) {
-	        			if (watchpoint.isModification()) {
-	        				//access and modification
-	        				if (enabled) {
-	        					return IDebugUIConstants.IMG_OBJS_WATCHPOINT;
-	        				} 
-	        				return IDebugUIConstants.IMG_OBJS_WATCHPOINT_DISABLED;
-	        			}
-	        			if (enabled) {
-        					return IDebugUIConstants.IMG_OBJS_ACCESS_WATCHPOINT;
-        				} 
-	        			return IDebugUIConstants.IMG_OBJS_ACCESS_WATCHPOINT_DISABLED;
-	        		} else if (watchpoint.isModification()) {
-	        			if (enabled) {
-	        				return IDebugUIConstants.IMG_OBJS_MODIFICATION_WATCHPOINT;
-	        			} 
-	        			return IDebugUIConstants.IMG_OBJS_MODIFICATION_WATCHPOINT_DISABLED;
-	        		} else {
-	        			//neither access nor modification
-	        			return IDebugUIConstants.IMG_OBJS_WATCHPOINT_DISABLED;
-	        		}
-	            }
-			    if (enabled) {
-					return IDebugUIConstants.IMG_OBJS_BREAKPOINT;
-				} 
-				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 8abee66..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugEditorPresentation;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IInstructionPointerPresentation;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-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, IColorProvider, IFontProvider, IInstructionPointerPresentation {
-	
-	/**
-	 * 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);
-	
-	/**
-	 * Whether the image registry has been initialized.
-	 */
-	private boolean fInitialized = false;
-
-	/* (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 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 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) {
-		initImageRegistries();
-		// 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) {
-    	IDebugModelPresentation lp= getConfiguredPresentation(item);
-    	if (lp != null) {
-    		return lp.getText(item);
-    	}
-    	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();
-	}
-		
-	public 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 HashMap getLabelProviders() {
-		return fLabelProviders;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
-     */
-    public Color getForeground(Object element) {
-        IDebugModelPresentation presentation = getConfiguredPresentation(element);
-        if (presentation instanceof IColorProvider) {
-            IColorProvider colorProvider = (IColorProvider) presentation;
-            return colorProvider.getForeground(element);
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
-     */
-    public Color getBackground(Object element) {
-        IDebugModelPresentation presentation = getConfiguredPresentation(element);
-        if (presentation instanceof IColorProvider) {
-            IColorProvider colorProvider = (IColorProvider) presentation;
-            return colorProvider.getBackground(element);
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object)
-     */
-    public Font getFont(Object element) {
-        IDebugModelPresentation presentation = getConfiguredPresentation(element);
-        if (presentation instanceof IFontProvider) {
-            IFontProvider fontProvider = (IFontProvider) presentation;
-            return fontProvider.getFont(element);
-        }
-        return null;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IInstructionPointerPresentation#getInstructionPointerAnnotation(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public Annotation getInstructionPointerAnnotation(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getConfiguredPresentation(frame);
-		Annotation annotation = null;
-		String id = null;
-		Image image = null;
-		String text = null;
-		if (presentation instanceof IInstructionPointerPresentation) {
-			// first check if an annotaion object is provided
-			IInstructionPointerPresentation pointerPresentation = (IInstructionPointerPresentation) presentation;
-			annotation = pointerPresentation.getInstructionPointerAnnotation(editorPart, frame);
-			if (annotation == null) {
-				// next check for a marker annotation specification extension
-				id = pointerPresentation.getInstructionPointerAnnotationType(editorPart, frame);
-				if (id == null) {
-					// check for an image
-					image = pointerPresentation.getInstructionPointerImage(editorPart, frame);
-				}
-				text = pointerPresentation.getInstructionPointerText(editorPart, frame);
-			}
-		}
-		if (annotation == null) {
-            boolean defaultAnnotation = id == null;
-			if (id == null || text == null || (defaultAnnotation && image == null)) {
-				IThread thread = frame.getThread();
-				IStackFrame tos = null;
-				boolean top = false;
-				try {
-					tos = thread.getTopStackFrame();
-					top = frame.equals(tos);
-				} catch (DebugException de) {
-				}
-				if (id == null) {
-					if (top) {
-						id = IDebugUIConstants.ANNOTATION_TYPE_INSTRUCTION_POINTER_CURRENT;
-					} else {
-						id = IDebugUIConstants.ANNOTATION_TYPE_INSTRUCTION_POINTER_SECONDARY;
-					}
-				}
-				if (text == null) {
-					if (top) {
-						text = DebugUIMessages.InstructionPointerAnnotation_0;
-					} else {
-						text = DebugUIMessages.InstructionPointerAnnotation_1;
-					}
-				}
-				if (defaultAnnotation && image == null) {
-					if (top) {
-						image = DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_INSTRUCTION_POINTER_TOP);
-					} else {
-						image = DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_INSTRUCTION_POINTER);
-					}
-				}
-			}
-			if (defaultAnnotation) {
-				annotation = new InstructionPointerAnnotation(frame, id, text, image);
-			} else {
-				annotation = new DynamicInstructionPointerAnnotation(frame, id, text);
-			}
-		}
-		return annotation;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IInstructionPointerPresentation#getMarkerAnnotationSpecificationId(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public String getInstructionPointerAnnotationType(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getConfiguredPresentation(frame);
-		if (presentation instanceof IInstructionPointerPresentation) {
-			return ((IInstructionPointerPresentation)presentation).getInstructionPointerAnnotationType(editorPart, frame);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IInstructionPointerPresentation#getInstructionPointerImage(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public Image getInstructionPointerImage(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getConfiguredPresentation(frame);
-		if (presentation instanceof IInstructionPointerPresentation) {
-			return ((IInstructionPointerPresentation)presentation).getInstructionPointerImage(editorPart, frame);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IInstructionPointerPresentation#getInstructionPointerText(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public String getInstructionPointerText(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getConfiguredPresentation(frame);
-		if (presentation instanceof IInstructionPointerPresentation) {
-			return ((IInstructionPointerPresentation)presentation).getInstructionPointerText(editorPart, frame);
-		}
-		return null;
-	}
-
-	public boolean isInitialized(Object element) {
-		LazyModelPresentation configuredPresentation = (LazyModelPresentation) getConfiguredPresentation(element);
-		if (configuredPresentation != null) {
-			return configuredPresentation.isImageRegistryInitialized();
-		}
-		return false;
-	}
-	
-	/**
-	 * Initialize image registries that this model presentation references to
-	 */
-	private synchronized void initImageRegistries() {
-		// if not initialized and this is called on the UI thread
-		if (!fInitialized && Thread.currentThread().equals(DebugUIPlugin.getStandardDisplay().getThread())) {
-			// force image registries to be created on the UI thread
-			DebugUIPlugin.getDefault().getImageRegistry();
-			fInitialized = true;
-		}
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DynamicInstructionPointerAnnotation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DynamicInstructionPointerAnnotation.java
deleted file mode 100644
index 6ca45c4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DynamicInstructionPointerAnnotation.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jface.text.source.Annotation;
-
-/**
- * Client specified instruction pointer annotation.
- */
-public class DynamicInstructionPointerAnnotation 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;
-		
-	/**
-	 * 
-	 * @param frame
-	 * @param markerAnnotationSpecificationId
-	 * @param text
-	 */
-	public DynamicInstructionPointerAnnotation(IStackFrame frame, String markerAnnotationSpecificationId, String text) {
-		super(markerAnnotationSpecificationId, false, text);
-		fStackFrame = frame;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object other) {
-		if (other instanceof DynamicInstructionPointerAnnotation) {
-			return getStackFrame().equals(((DynamicInstructionPointerAnnotation)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/IDebugHelpContextIds.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
deleted file mode 100644
index 8f753e7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     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 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 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 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$
-	public static final String FIND_ELEMENT_ACTION = PREFIX + "find_element_context"; //$NON-NLS-1$
-    public static final String ASSIGN_VALUE_ACTION = PREFIX + "assign_value_context"; //$NON-NLS-1$
-    public static final String CONSOLE_TERMINATE_ACTION = PREFIX + "console_terminate_action_context"; //$NON-NLS-1$
-    public static final String CONSOLE_REMOVE_ALL_TERMINATED = PREFIX + "console_remove_all_terminated_context"; //$NON-NLS-1$
-    public static final String CONSOLE_REMOVE_LAUNCH = PREFIX + "console_remove_launch_context"; //$NON-NLS-1$;
-    public static final String SHOW_COLUMNS_ACTION = PREFIX + "show_columns_context"; //$NON-NLS-1$;
-    public static final String CONFIGURE_COLUMNS_ACTION = PREFIX + "configure_columns_context"; //$NON-NLS-1$;
-    public static final String MEMORY_VIEW_PANE_ORIENTATION_ACTION = PREFIX + "memory_view_pane_orientation_action_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$
-	public static final String PROCESS_CONSOLE = PREFIX + "process_console_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$
-	public static final String PERSPECTIVE_PREFERENCE_PAGE = PREFIX + "perspective_preference_page_context"; //$NON-NLS-1$
-	public static final String LAUNCHING_PREFERENCE_PAGE = PREFIX + "launching_preference_page_context"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_PREFERENCE_PAGE = PREFIX + "launch_configuration_preference_page_context"; //$NON-NLS-1$
-	public static final String VIEW_MANAGEMENT_PREFERENCE_PAGE = PREFIX + "view_management_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$
-	public static final String FIND_EXPRESSION_DIALOG = PREFIX + "find_expressions_dialog_context"; //$NON-NLS-1$
-	public static final String FIND_VARIABLES_DIALOG = PREFIX + "find_variables_dialog_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 FIND_ELEMENT_DIALOG = PREFIX + "find_element_dialog_context"; //$NON-NLS-1$
-	public static final String CONFIGURE_COLUMNS_DIALOG = PREFIX + "configure_columns_dialog_context"; //$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$			
-	
-	//Wizards
-	public static final String IMPORT_BREAKPOINTS_WIZARD_PAGE = PREFIX + "import_breakpoints_wizard_page_context"; //$NON-NLS-1$
-	public static final String EXPORT_BREAKPOINTS_WIZARD_PAGE = PREFIX + "export_breakpoints_wizard_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 adda85e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Bug 114664
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-import org.eclipse.debug.internal.ui.views.memory.MemoryBlocksTreeViewPane;
-import org.eclipse.debug.internal.ui.views.memory.RenderingViewPane;
-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$
-    
-    // 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_REMOVE = "IMG_DLCL_REMOVE"; //$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$
-    public static final String IMG_DLCL_NEW_CONFIG = "IMG_DLCL_NEW_CONFIG"; //$NON-NLS-1$
-    public static final String IMG_DLCL_DUPLICATE_CONFIG = "IMG_DLCL_DUPLICATE_CONFIG"; //$NON-NLS-1$
-    public static final String IMG_DLCL_DELETE_CONFIG = "IMG_DLCL_DELETE_CONFIG"; //$NON-NLS-1$
-    public static final String IMG_DLCL_FILTER_CONFIGS = "IMG_DLCL_FILTER_CONFIGS"; //$NON-NLS-1$
-    public static final String IMG_DLCL_SUSPEND = "IMG_DLCL_SUSPEND"; //$NON-NLS-1$
-    public static final String IMG_DLCL_RESUME = "IMG_DLCL_RESUME"; //$NON-NLS-1$
-    public static final String IMG_DLCL_STEP_RETURN = "IMG_DLCL_STEP_RETURN"; //$NON-NLS-1$
-    public static final String IMG_DLCL_STEP_OVER = "IMG_DLCL_STEP_OVER"; //$NON-NLS-1$
-    public static final String IMG_DLCL_STEP_INTO = "IMG_DLCL_STEP_INTO"; //$NON-NLS-1$
-    public static final String IMG_DLCL_TERMINATE_AND_REMOVE = "IMG_DLCL_TERMINATE_AND_REMOVE"; //$NON-NLS-1$
-    public static final String IMG_DLCL_TERMINATE_ALL = "IMG_DLCL_TERMINATE_ALL"; //$NON-NLS-1$
-    public static final String IMG_DLCL_TERMINATE_AND_RELAUNCH = "IMG_DLCL_TERMINATE_AND_RELAUNCH"; //$NON-NLS-1$
-    public static final String IMG_DLCL_TOGGLE_STEP_FILTERS = "IMG_DLCL_TOGGLE_STEP_FILTERS"; //$NON-NLS-1$
-    
-    //TODO: Move this IDebugUIConstants. Created too late in 3.2 cycle to add API.
-    //The enabled icon is already API.
-    public static final String IMG_DLCL_DISCONNECT= "IMG_DLCL_DISCONNECT"; //$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$
-    public static final String IMG_ELCL_REMOVE_ALL = "IMG_ELCL_REMOVE_ALL"; //$NON-NLS-1$
-    public static final String IMG_ELCL_REMOVE = "IMG_ELCL_REMOVE"; //$NON-NLS-1$
-    public static final String IMG_ELCL_HIERARCHICAL = "IMG_ELCL_HIERARCHICAL"; //$NON-NLS-1$
-    public static final String IMG_ELCL_HELP = "IMG_ELCL_HELP"; //$NON-NLS-1$
-    public static final String IMG_ELCL_NEW_CONFIG = "IMG_ELCL_NEW_CONFIG"; //$NON-NLS-1$
-    public static final String IMG_ELCL_DELETE_CONFIG = "IMG_ELCL_DELETE_CONFIG"; //$NON-NLS-1$
-    public static final String IMG_ELCL_FILTER_CONFIGS = "IMG_ELCL_FILTER_CONFIGS"; //$NON-NLS-1$
-    public static final String IMG_ELCL_DUPLICATE_CONFIG = "IMG_ELCL_DUPLICATE_CONFIG"; //$NON-NLS-1$
-    public static final String IMG_ELCL_SUSPEND = "IMG_ELCL_SUSPEND"; //$NON-NLS-1$
-    public static final String IMG_ELCL_RESUME = "IMG_ELCL_RESUME"; //$NON-NLS-1$
-    public static final String IMG_ELCL_STEP_RETURN = "IMG_ELCL_STEP_RETURN"; //$NON-NLS-1$
-    public static final String IMG_ELCL_STEP_OVER = "IMG_ELCL_STEP_OVER"; //$NON-NLS-1$
-    public static final String IMG_ELCL_STEP_INTO = "IMG_ELCL_STEP_INTO"; //$NON-NLS-1$
-    public static final String IMG_ELCL_DROP_TO_FRAME = "IMG_ELCL_DROP_TO_FRAME"; //$NON-NLS-1$
-    public static final String IMG_ELCL_TERMINATE_AND_REMOVE = "IMG_ELCL_TERMINATE_AND_REMOVE"; //$NON-NLS-1$
-    public static final String IMG_ELCL_TERMINATE_ALL = "IMG_ELCL_TERMINATE_ALL"; //$NON-NLS-1$
-    public static final String IMG_ELCL_TERMINATE_AND_RELAUNCH = "IMG_ELCL_TERMINATE_AND_RELAUNCH"; //$NON-NLS-1$
-    public static final String IMG_ELCL_TOGGLE_STEP_FILTERS = "IMG_ELCL_TOGGLE_STEP_FILTERS"; //$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_OBJECT_MEMORY_CHANGED="IMG_OBJECT_MEMORY_CHANGED";  //$NON-NLS-1$
-    public static final String IMG_OBJECT_MEMORY="IMG_OBJECT_MEMORY";  //$NON-NLS-1$
-    public static final String IMG_OBJS_BREAKPOINT_TYPE="IMG_OBJ_BREAKPOINT_TYPE"; //$NON-NLS-1$
-    
-    // wizard images
-    public static final String IMG_WIZBAN_IMPORT_BREAKPOINTS = "IMG_WIZBAN_IMPORT_BREAKPOINTS"; //$NON-NLS-1$
-    public static final String IMG_WIZBAN_EXPORT_BREAKPOINTS = "IMG_WIZBAN_EXPORT_BREAKPOINTS"; //$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_ADD_SRC_DIR_WIZ = "IMG_ADD_SRC_DIRECTORY"; //$NON-NLS-1$
-    public static final String IMG_EDIT_SRC_DIR_WIZ = "IMG_EDIT_SRC_DIRECTORY"; //$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 enabling/disabling launch configuration filtering based on project accessibilty status
-     * 
-     * @since 3.2
-     */
-    public static final String PREF_FILTER_LAUNCH_CLOSED = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_LAUNCH_CLOSED"; //$NON-NLS-1$
-    
-    /**
-     * Preference for enabling/disabling launch configuraiton filtering based on project context
-     * 
-     * @since 3.2
-     */
-    public static final String PREF_FILTER_LAUNCH_DELETED = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_LAUNCH_DELETED"; //$NON-NLS-1$
-    
-    /**
-     * Preference for prompting if launch configurations should be deleted when a project they are linked to is deleted
-     * @see LaunchManager#preDelete(IProject)
-     * @since 3.2
-     */
-    public static final String PREF_DELETE_CONFIGS_ON_PROJECT_DELETE =IDebugUIConstants.PLUGIN_ID +".PREF_DELETE_CONFIGS_ON_PROJECT_DELETE";  //$NON-NLS-1$
-    
-    /**
-     * Preference for enabling/disabling filtering based on selected items from the launch configuration type table
-     * @since 3.2
-     */
-    public static final String PREF_FILTER_LAUNCH_TYPES = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_LAUNCH_TYPES"; //$NON-NLS-1$
-    
-    /**
-     * Preference that saves which launch configuration types have been checked on the Launch Configuraitons pref page
-     * @since 3.2
-     */
-    public static final String PREF_FILTER_TYPE_LIST = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_TYPE_LIST"; //$NON-NLS-1$
-    
-    /**
-     * Preference for filtering launch configurations based on the currently active working sets
-     * @since 3.2
-     */
-    public static final String PREF_FILTER_WORKING_SETS = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_WORKING_SETS"; //$NON-NLS-1$ 
-     
-    /**
-	 * Preference for using step filters.
-	 * TODO: remove once API freeze is over
-	 * @since 3.2
-	 */
-	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$
-    
-    /**
-     * 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$
-	
-	/**
-	 * Maximum number of characters to display in the details area of the variables
-	 * view, or 0 if unlimited.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String PREF_MAX_DETAIL_LENGTH = IDebugUIConstants.PLUGIN_ID + ".max_detail_length"; //$NON-NLS-1$
-	    
-	/**
-	 * Font for Memory View
-	 * 
-	 * @since 3.0
-	 */
-	public final static String FONT_NAME = IDebugUIConstants.PLUGIN_ID + ".MemoryViewTableFont"; //$NON-NLS-1$
-	
-	public final static int ADD_UNIT_PER_LINE = 16;	// number of addressable unit per line
-	public final static int CHAR_PER_BYTE = 2;		// number of characters to represent one byte
-
-    /**
-     * Memory view's rendering view pane identifier (value <code>"org.eclipse.debug.ui.MemoryView.RenderingViewPane"</code>).
-     * @since 3.1
-     */
-    public static String ID_RENDERING_VIEW_PANE = RenderingViewPane.RENDERING_VIEW_PANE_ID;
-    
-    /**
-     * Memory view's memory block tree viewer's identifier. (value <code>"org.eclipse.debug.ui.MemoryView.MemoryBlocksTreeViewPane"</code>).
-     * @since 3.1
-     */
-    public static String ID_MEMORY_BLOCK_TREE_VIEWER = MemoryBlocksTreeViewPane.PANE_ID;
-
-    /** 
-     * 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$
-  
-    /**
-     * Comma separated list of view ids closed by the user, that have view context bindings.
-     * @since 3.2
-     */
-    public static final String PREF_USER_VIEW_BINDINGS = IDebugUIConstants.PLUGIN_ID + ".user_view_bindings"; //$NON-NLS-1$
-    
-    /**
-     * Preference storing memento for the default breakpoint working set in
-     * the breakpoints view.
-     * 
-     * @since 3.1
-     */
-    public static final String MEMENTO_BREAKPOINT_WORKING_SET_NAME = DebugUIPlugin.getUniqueIdentifier() + ".MEMENTO_BREAKPOINT_WORKING_SET_NAME"; //$NON-NLS-1$
-
-    /**
-     * Breakpoint working set identifier.
-     * 
-     * @since 3.1
-     */
-    public static final String ID_BREAKPOINT_WORKINGSET = "org.eclipse.debug.ui.breakpointWorkingSet"; //$NON-NLS-1$
-    
-    
-    /**
-     * Address at the beginning of a page in a table rendering.
-     * @since 3.1
-     */
-    public static final String PROPERTY_PAGE_START_ADDRESS = "pageStart"; //$NON-NLS-1$
-
-    
-    /**
-     * This constant is used as a "quick-fix" for the issue of breakpoint to working set
-     * persistance when the state of a project changes.
-     * 
-     * @since 3.2
-     */
-    public static final String WORKING_SET_NAME = "workingset_name"; //$NON-NLS-1$
-    
-    /**
-     * This constant is used as a "quick-fix" for the issue of breakpoint to working set
-     * persistance when the state of a project changes.
-     * 
-     * @since 3.2
-     */
-    public static final String WORKING_SET_ID = "workingset_id";  //$NON-NLS-1$
-    
-    /**
-     * Annotation type identifier for annotation of the an instruction
-     * pointer with a dynamic image. Value is <code>org.eclipse.debug.ui.dynamicIP</code>,
-     * identifying a <code>org.eclipse.ui.editors.markerAnnotationSpecification</code>
-     * extension.
-     * 
-     * @since 3.2
-     */
-    public static final String ANNOTATION_TYPE_DYNAMIC_INSTRUCTION_POINTER = "org.eclipse.debug.ui.dynamicIP"; //$NON-NLS-1$
-    
-    /**
-     * Preference for background color in tree columns when a value changes color.
-     * 
-     * @since 3.2
-     */
-    public static final String PREF_CHANGED_VALUE_BACKGROUND = IDebugUIConstants.PLUGIN_ID + ".PREF_CHANGED_VALUE_BACKGROUND"; //$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 1156d2f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM 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/ImageDescriptorRegistry.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ImageDescriptorRegistry.java
deleted file mode 100644
index aa13aff..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ImageDescriptorRegistry.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-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(DebugUIPlugin.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 == DebugUIPlugin.getStandardDisplay(), DebugUIMessages.ImageDescriptorRegistry_0); 
-		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.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 38443e0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerAnnotation.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Default instruction pointer annotation.
- */
-public class InstructionPointerAnnotation extends DynamicInstructionPointerAnnotation {
-	
-	/**
-	 * The image for this annotation.
-	 */
-	private Image fImage;
-	
-	/**
-	 * Constructs an instruction pointer image.
-	 * 
-	 * @param frame stack frame the instruction pointer is associated with
-	 * @param annotationType the type of annotation to display (annotation identifier)
-	 * @param text the message to display with the annotation as hover help
-	 * @param image the image used to display the annotation
-	 */
-	public InstructionPointerAnnotation(IStackFrame frame, String annotationType, String text, Image image) {
-		super(frame, annotationType, text);
-		fImage = image;
-	}
-		
-	/**
-	 * Returns this annotation's image.
-	 * 
-	 * @return image
-	 */
-	protected Image getImage() {
-		return fImage;
-	}
-
-}
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 6295835..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerContext.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import org.eclipse.jface.text.source.Annotation;
-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 Annotation fAnnotation;
-
-	public InstructionPointerContext(ITextEditor textEditor, Annotation 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(Annotation annotation) {
-		fAnnotation = annotation;
-	}
-
-	public Annotation getAnnotation() {
-		return fAnnotation;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerImageProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerImageProvider.java
deleted file mode 100644
index 93a5ef7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerImageProvider.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui;
-
-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;
-
-public class InstructionPointerImageProvider implements IAnnotationImageProvider {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IAnnotationImageProvider#getManagedImage(org.eclipse.jface.text.source.Annotation)
-	 */
-	public Image getManagedImage(Annotation annotation) {
-		return ((InstructionPointerAnnotation)annotation).getImage();
-	}
-
-	/* (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/InstructionPointerManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
deleted file mode 100644
index 29cbe61..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.Annotation;
-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 frame, Annotation annotation) {
-		
-		IDocumentProvider docProvider = textEditor.getDocumentProvider();
-		IEditorInput editorInput = textEditor.getEditorInput();
-        // If there is no annotation model, there's nothing more to do
-        IAnnotationModel annModel = docProvider.getAnnotationModel(editorInput);
-        if (annModel == null) {
-            return;
-        }        
-		
-		// Create the Position object that specifies a location for the annotation
-		Position position = null;
-		int charStart = -1;
-		int length = -1; 
-		try {
-			charStart = frame.getCharStart();
-			length = frame.getCharEnd() - charStart;
-		} catch (DebugException de) {
-		}
-		if (charStart < 0) {
-			IDocument doc = docProvider.getDocument(editorInput);
-			if (doc == null) {
-				return;
-			}
-			try {
-				int lineNumber = frame.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.
-		annModel.removeAnnotation(annotation);
-		annModel.addAnnotation(annotation, position);	
-		
-		// Retrieve the list of instruction pointer contexts
-		IDebugTarget debugTarget = frame.getDebugTarget();
-		Map threadMap = (Map) fDebugTargetMap.get(debugTarget);
-		if (threadMap == null) {
-			threadMap = new HashMap();	
-			fDebugTargetMap.put(debugTarget, threadMap);		
-		}
-		IThread thread = frame.getThread();
-		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, annotation);
-		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, Annotation 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 e9f07c6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.core.runtime.ListenerList;
-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.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.IInstructionPointerPresentation;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-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, IColorProvider, IFontProvider, IInstructionPointerPresentation {
-	
-	/**
-	 * 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();	
-	
-	protected boolean fImageRegistryInitialized = false;
-	
-		
-	/* (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) {
-		fImageRegistryInitialized = true;
-		Image image = getPresentation().getImage(element);
-        if (image == null) {
-            image = getDefaultImage(element);
-        }
-        if (image != null) {
-            int flags= computeAdornmentFlags(element);
-            if (flags > 0) {
-                CompositeDebugImageDescriptor descriptor= new CompositeDebugImageDescriptor(image, flags);
-                return DebugUIPlugin.getImageDescriptorRegistry().get(descriptor);
-            }
-        }
-        return image;
-	}
-	
-	public boolean isImageRegistryInitialized() {
-		return fImageRegistryInitialized;
-	}
-
-	/**
-     * Computes and return common adornment flags for the given element.
-     * 
-     * @param element
-     * @return adornment flags defined in CompositeDebugImageDescriptor
-     */
-    private int computeAdornmentFlags(Object element) {
-        if (element instanceof IBreakpoint) {
-            if (!DebugPlugin.getDefault().getBreakpointManager().isEnabled()) {
-                return CompositeDebugImageDescriptor.SKIP_BREAKPOINT;
-            }
-        }
-        return 0;
-    }
-
-    /**
-     * 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);
-    }
-    
-    /**
-	 * @see IDebugModelPresentation#getText(Object)
-	 */
-	public String getText(Object element) {
-        if (!(element instanceof IndexedVariablePartition)) {
-            // Attempt to delegate        
-            String text = getPresentation().getText(element);
-            if (text != null) {
-                return text;
-            }
-        }
-        // If no delegate returned a text label, use the default
-        if (showVariableTypeNames()) {
-            try {
-                if (element instanceof IExpression) {
-                    StringBuffer buf = new StringBuffer();
-                    IValue value = ((IExpression)element).getValue();
-                    if (value != null) {
-                        buf.append(value.getReferenceTypeName());
-                        buf.append(' ');
-                    }
-                    buf.append(getDefaultText(element));
-                    return buf.toString(); 
-                } else if (element instanceof IVariable) {
-                    return new StringBuffer(((IVariable)element).getValue().getReferenceTypeName()).append(' ').append(getDefaultText(element)).toString();
-                }
-            } catch (DebugException de) {
-                DebugUIPlugin.log(de);
-            }
-        }
-        return getDefaultText(element);
-	}
-	
-    /**
-     * 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();
-    }
-    
-	/**
-	 * @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);
-		}
-		ListenerList listeners = fListeners;
-		if (listeners != null) {
-		    listeners.remove(listener);
-		}
-	}
-	
-	/**
-	 * Returns the real presentation, instantiating if required.
-	 */
-	protected IDebugModelPresentation getPresentation() {
-		if (fPresentation == null) {
-		    synchronized (this) {
-		        if (fPresentation != null) {
-		            // In the case that the synchronization is enforced, the "blocked" thread
-		            // should return the presentation configured by the "owning" thread.
-		            return fPresentation;
-		        }
-				try {
-					IDebugModelPresentation tempPresentation= (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++) {
-						    tempPresentation.addListener((ILabelProviderListener)list[i]);
-						}
-					}
-					Iterator keys= fAttributes.keySet().iterator();
-					while (keys.hasNext()) {
-						String key= (String)keys.next();
-						tempPresentation.setAttribute(key, fAttributes.get(key));
-					}
-					// Only assign to the instance variable after it's been configured. Otherwise,
-					// the synchronization is defeated (a thread could return the presentation before
-					// it's been configured).
-					fPresentation= tempPresentation;
-				} 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();
-	}
-	
-	public Map getAttributes() {
-		return fAttributes;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
-     */
-    public Color getForeground(Object element) {
-        IDebugModelPresentation presentation = getPresentation();
-        if (presentation instanceof IColorProvider) {
-            IColorProvider colorProvider = (IColorProvider) presentation;
-            return colorProvider.getForeground(element);
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
-     */
-    public Color getBackground(Object element) {
-        IDebugModelPresentation presentation = getPresentation();
-        if (presentation instanceof IColorProvider) {
-            IColorProvider colorProvider = (IColorProvider) presentation;
-            return colorProvider.getBackground(element);
-        }
-        return null;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object)
-     */
-    public Font getFont(Object element) {
-        IDebugModelPresentation presentation = getPresentation();
-        if (presentation instanceof IFontProvider) {
-            IFontProvider fontProvider = (IFontProvider) presentation;
-            return fontProvider.getFont(element);
-        }
-        return null;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IInstructionPointerPresentation#getInstructionPointerAnnotation(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public Annotation getInstructionPointerAnnotation(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getPresentation();
-		if (presentation instanceof IInstructionPointerPresentation) {
-			IInstructionPointerPresentation pointerPresentation = (IInstructionPointerPresentation) presentation;
-			return pointerPresentation.getInstructionPointerAnnotation(editorPart, frame);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IInstructionPointerPresentation#getMarkerAnnotationSpecificationId(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public String getInstructionPointerAnnotationType(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getPresentation();
-		if (presentation instanceof IInstructionPointerPresentation) {
-			IInstructionPointerPresentation pointerPresentation = (IInstructionPointerPresentation) presentation;
-			return pointerPresentation.getInstructionPointerAnnotationType(editorPart, frame);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IInstructionPointerPresentation#getInstructionPointerImage(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public Image getInstructionPointerImage(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getPresentation();
-		if (presentation instanceof IInstructionPointerPresentation) {
-			IInstructionPointerPresentation pointerPresentation = (IInstructionPointerPresentation) presentation;
-			return pointerPresentation.getInstructionPointerImage(editorPart, frame);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IInstructionPointerPresentation#getInstructionPointerText(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public String getInstructionPointerText(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getPresentation();
-		if (presentation instanceof IInstructionPointerPresentation) {
-			IInstructionPointerPresentation pointerPresentation = (IInstructionPointerPresentation) presentation;
-			return pointerPresentation.getInstructionPointerText(editorPart, frame);
-		}
-		return null;
-	}
-}
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 4b3aef2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.StringVariableSelectionDialog;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-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.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.MultipleInputDialog_6, false); 
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				DirectoryDialog dialog = new DirectoryDialog(getShell());
-				dialog.setMessage(DebugUIMessages.MultipleInputDialog_7);  
-				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.MultipleInputDialog_8, false); 
-		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.insert(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);
-	}
-	
-	private String getDialogSettingsSectionName() {
-		return IDebugUIConstants.PLUGIN_ID + ".MULTIPLE_INPUT_DIALOG_2"; //$NON-NLS-1$
-	}
-	
-	 /* (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
-     */
-    protected IDialogSettings getDialogBoundsSettings() {
-    	 IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-         IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-         if (section == null) {
-             section = settings.addNewSection(getDialogSettingsSectionName());
-         } 
-         return section;
-    }
-    
-	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;
-		}
-	}
-}
\ No newline at end of file
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 69a6bf3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/Pair.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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;
-	}
-}
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 bc97afe..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/PixelConverter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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#convertHorizontalDLUsToPixels
-	 */
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		return Dialog.convertHorizontalDLUsToPixels(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 050acd6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ResourceExtender.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.regex.Pattern;
-
-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.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.ui.IPathEditorInput;
-
-/**
- * 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.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
-     */
-    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_CONTENT_TYPE.equals(method)) {
-		        IPathEditorInput editorInput = (IPathEditorInput) ((IAdaptable) receiver).getAdapter(IPathEditorInput.class);
-		        if (editorInput != null) {
-		            IPath path= editorInput.getPath();
-		            File file= path.toFile();
-		            if (file.exists()) {
-		                try {
-		                    FileReader reader= new FileReader(file);
-		                    IContentType contentType= Platform.getContentTypeManager().getContentType((String)expectedValue);
-		                    IContentDescription description= contentType.getDescriptionFor(reader, IContentDescription.ALL);
-		                    reader.close();
-		                    if (description != null) {
-		                    	return matchesContentType(description.getContentType(), (String)expectedValue);
-		                    }
-		                } catch (FileNotFoundException e) {
-		                    return false;
-		                } catch (IOException e) {
-		                    return false;
-		                }
-		            }
-		        }
-        	}
-        } else {
-            if (PROPERTY_MATCHES_PATTERN.equals(method)) { 
-                String fileName = resource.getName();
-                String expected = (String) expectedValue;
-                expected = expected.replaceAll("\\.", "\\\\.");  //$NON-NLS-1$//$NON-NLS-2$
-                expected = expected.replaceAll("\\*", "\\.\\*");  //$NON-NLS-1$//$NON-NLS-2$
-                Pattern pattern = Pattern.compile(expected);
-                boolean retVal = pattern.matcher(fileName).find();
-                return retVal;
-            } 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 the given type or one of its base types matches the 
-     * given content type identifier.
-     *  
-     * @param type content type or <code>null</code>
-     * @param typeId content type identifier
-     * @return
-     */
-    private boolean matchesContentType(IContentType type, String typeId) {
-        while (type != null) {
-        	if (typeId.equals(type.getId())) {
-        		return true;
-        	}
-        	type = type.getBaseType();
-        }
-        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) {
-        	return matchesContentType(description.getContentType(), contentType);
-        }
-        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 20401fe..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTUtil.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.resource.JFaceResources;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-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.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Utility class to simplify access to some SWT resources. 
- */
-public class SWTUtil {
-		
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	public static int getButtonWidthHint(Button button) {
-		button.setFont(JFaceResources.getDialogFont());
-		PixelConverter converter= new PixelConverter(button);
-		int widthHint= converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-	
-	/**
-	 * 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).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;	
-	}	
-	
-	/**
-	 * Creates a new label widget
-	 * @param parent the parent composite to add this label widget to
-	 * @param text the text for the label
-	 * @param hspan the horizontal span to take up in the parent composite
-	 * @return the new label
-	 * @since 3.2
-	 * 
-	 */
-	public static Label createLabel(Composite parent, String text, int hspan) {
-		Label l = new Label(parent, SWT.NONE);
-		l.setFont(parent.getFont());
-		l.setText(text);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = hspan;
-		l.setLayoutData(gd);
-		return l;
-	}
-	
-	/**
-	 * Creates a new text widget 
-	 * @param parent the parent composite to add this text widget to
-	 * @param hspan the horizontal span to take up on the parent composite
-	 * @return the new text widget
-	 * @since 3.2
-	 * 
-	 */
-	public static Text createSingleText(Composite parent, int hspan) {
-    	Text t = new Text(parent, SWT.SINGLE | SWT.BORDER);
-    	t.setFont(parent.getFont());
-    	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-    	gd.horizontalSpan = hspan;
-    	t.setLayoutData(gd);
-    	return t;
-    }
-	
-	/**
-	 * Creates a Group widget
-	 * @param parent the parent composite to add this group to
-	 * @param text the text for the heading of the group
-	 * @param columns the number of columns within the group
-	 * @param hspan the horizontal span the group should take up on the parent
-	 * @param fill the style for how this composite should fill into its parent
-	 * @return the new group
-	 * @since 3.2
-	 * 
-	 */
-	public static Group createGroup(Composite parent, String text, int columns, int hspan, int fill) {
-    	Group g = new Group(parent, SWT.NONE);
-    	g.setLayout(new GridLayout(columns, false));
-    	g.setText(text);
-    	g.setFont(parent.getFont());
-    	GridData gd = new GridData(fill);
-		gd.horizontalSpan = hspan;
-    	g.setLayoutData(gd);
-    	return g;
-    }
-	
-	/**
-	 * This method allows us to open the preference dialog on the specific page, in this case the perspective page
-	 * @param id the id of pref page to show
-	 * @param page the actual page to show
-	 * @since 3.2
-	 */
-	public static 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);
-		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				dialog.setMessage(targetNode.getLabelText());
-				dialog.open();
-			}
-		});		
-	}
-}
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 4dead7c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/StepFilterManager.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.internal.ui.actions.context.ActionRequestMonitor;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepFiltersAdapter;
-
-/**
- * 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();
-		IAsynchronousStepFiltersAdapter stepFilterAdapter = (IAsynchronousStepFiltersAdapter)launch.getAdapter(IAsynchronousStepFiltersAdapter.class);
-		if (stepFilterAdapter != null)
-		{
-			stepFilterAdapter.setStepFiltersEnabled(launch, useStepFilters, new ActionRequestMonitor());
-		}
-	}
-	
-	/**
-	 * Returns whether the 'use step filters' preference is on.
-	 * 
-	 * @return whether to use step filters
-	 */
-	public boolean isUseStepFilters() {
-		//TODO: revert once API freeze is over
-		return DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_USE_STEP_FILTERS/*IDebugUIConstants.PREF_USE_STEP_FILTERS*/);
-	}
-	
-	/**
-	 * Sets whether to use step filters.
-	 * 
-	 * @param useFilters whether to use step filters
-	 */
-	public void setUseStepFilters(boolean useFilters) {
-		//TODO: revert onve API freeze is over
-		DebugUIPlugin.getDefault().getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_USE_STEP_FILTERS/*IDebugUIConstants.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/VariableValueEditorManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java
deleted file mode 100644
index c02ac4d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-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.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.IVariableValueEditor;
-
-/**
- * Manager which provides the variable value editors contributed
- * via the org.eclipse.debug.ui.variableValueEditors extension
- * point.
- * 
- * @see org.eclipse.debug.ui.actions.IVariableValueEditor
- * @since 3.1
- */
-public class VariableValueEditorManager {
-    
-    /**
-     * Mapping of debug model identifiers to variable value editors.
-     * The keys in this map are always Strings (model ids).
-     * The values in the map are IConfigurationElements at startup,
-     * which are replaced by IVariableValueEditors as the editors
-     * are instantiated (editors are loaded lazily, then cached).
-     */
-    private Map fEditorMap= new HashMap();
-    
-    /**
-     * The singleton instance of this manager.
-     */
-    private static VariableValueEditorManager fgManager;
-
-    /**
-     * Creates a new variable value editor manager. Clients
-     * should access the singleton instance of this manager
-     * by calling getDefault()
-     */
-    private VariableValueEditorManager() {
-        loadVariableEditors();
-    }
-
-    /**
-     * Returns the singleton instance of this manager.
-     * @return the singleton instance of this manager
-     */
-    public static VariableValueEditorManager getDefault() {
-        if (fgManager == null) {
-            fgManager= new VariableValueEditorManager();
-        }
-        return fgManager;
-    }
-    
-    /**
-     * Returns the variable value editor associated with the given debug
-     * model identifier or <code>null</code> if no editor has been supplied
-     * for the given debug model.
-     * @param modelIdentifier the debug model identifier
-     * @return the variable value editor associated with the given debug model
-     *  identifier or <code>null</code>
-     */
-    public IVariableValueEditor getVariableValueEditor(String modelIdentifier) {
-        Object object = fEditorMap.get(modelIdentifier);
-        IVariableValueEditor editor= null;
-        if (object instanceof IVariableValueEditor) {
-            editor= (IVariableValueEditor) object;
-        } else if (object instanceof IConfigurationElement) {
-            try {
-                editor = (IVariableValueEditor) ((IConfigurationElement) object).createExecutableExtension("class"); //$NON-NLS-1$
-                fEditorMap.put(modelIdentifier, editor);
-            } catch (CoreException e) {
-                // If an exception occurs, loading the extension, just log it and
-                // return null.
-                DebugUIPlugin.log(e);
-            }
-        }
-        return editor;
-    }
-	
-	/**
-	 * Loads contributors to the org.eclipse.debug.ui.variableValueEditors extension point,
-	 * for use when the user runs this action.
-	 */
-	private void loadVariableEditors() {
-		IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_VARIABLE_VALUE_EDITORS);
-		IConfigurationElement[] elements = ep.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-            IConfigurationElement element = elements[i];
-            String modelId = element.getAttribute("modelId"); //$NON-NLS-1$
-            if (modelId != null) {
-                fEditorMap.put(modelId, element);
-            }
-        }
-	}
-}
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 2084afc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesViewModelPresentation.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 0c0adf0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/WorkingDirectoryStatusHandler.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.WorkingDirectoryStatusHandler_Eclipse_Runtime_1; 
-				String message= DebugUIMessages.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; 
-				result[0]= (MessageDialog.openQuestion(DebugUIPlugin.getShell(), title, message));
-			}
-		});
-		return Boolean.valueOf(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 6bfa691..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.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.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public abstract class AbstractDebugActionDelegate implements IViewActionDelegate, IActionDelegate2 {
-	
-	/**
-	 * 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 = StructuredSelection.EMPTY;
-	
-	/**
-	 * Whether this delegate has been initialized
-	 */
-	private boolean fInitialized = false;
-	
-	/**
-	 * 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() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose(){
-        fSelection= null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action){
-	    if (action.isEnabled()) {
-			IStructuredSelection selection = getSelection();
-			// disable the action so it cannot be run again until an event or selection change
-			// updates the enablement
-			action.setEnabled(false);
-			runInForeground(selection);
-	    }
-	}
-	
-	/**
-	 * Runs this action in the UI thread.
-	 */
-	private void runInForeground(final IStructuredSelection selection) {
-	    final MultiStatus status= 
-			new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, getStatusMessage(), null); 	    
-		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {
-			public void run() {
-			    Iterator selectionIter = selection.iterator();
-				while (selectionIter.hasNext()) {
-					Object element= selectionIter.next();
-					try {
-						// Action's enablement could have been changed since
-						// it was last enabled.  Check that the action is still
-						// enabled before running the action.
-						if (isEnabledFor(element))
-							doAction(element);
-					} catch (DebugException e) {
-						status.merge(e.getStatus());
-					}
-				}
-			}
-		});
-		reportErrors(status);
-	}
-
-	private void reportErrors(final MultiStatus ms) {
-		if (!ms.isOK()) {
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.AbstractDebugActionDelegate_0, getErrorDialogMessage(), ms);
-			} else {
-				DebugUIPlugin.log(ms);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.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 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$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.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);
-			update(action, selection);
-			setInitialized(true);
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the most recent selection
-	 * 
-	 * @return structured selection
-	 */	
-	protected IStructuredSelection getSelection() {
-		return fSelection;
-	}
-	
-	/**
-	 * Sets the most recent selection
-	 * 
-	 * @parm selection structured selection
-	 */	
-	private void setSelection(IStructuredSelection selection) {
-		fSelection = selection;
-	}	
-	
-	protected void setAction(IAction action) {
-		fAction = action;
-	}
-
-	protected IAction getAction() {
-		return fAction;
-	}
-	
-	protected boolean isInitialized() {
-		return fInitialized;
-	}
-
-	protected void setInitialized(boolean initialized) {
-		fInitialized = initialized;
-	}
-	
-	/**
-	 * 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;
-	}
-
-	/* (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.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		fAction = 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 ef4bc97..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveActionDelegate.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.ui.IViewPart;
-
-public abstract class AbstractRemoveActionDelegate extends AbstractSelectionActionDelegate {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractSelectionActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		super.init(view);
-		IDebugView debugView= (IDebugView)getView().getAdapter(IDebugView.class);
-		if (debugView != null) {
-			debugView.setAction(IDebugView.REMOVE_ACTION, getAction());
-		}
-	}
-	
-}
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 3d2fbb5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-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.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-public abstract class AbstractRemoveAllActionDelegate implements IViewActionDelegate, IActionDelegate2, IWorkbenchWindowActionDelegate {
-	
-	private IAction fAction;
-
-	/**
-	 * Needed for reflective creation
-	 */
-	public AbstractRemoveAllActionDelegate() {}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-		fAction = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		fAction = action;
-	}
-
-	/**
-	 * Returns this delegate's action.
-	 * 
-	 * @return
-	 */
-	protected IAction getAction() {
-		return fAction;
-	}
-	
-	/* (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.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		initialize();
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		initialize();
-		update();
-	}
-
-	/**
-	 * Initializes any listeners, etc.
-	 */
-	protected abstract void initialize();
-	
-	/**
-	 * Update enablement.
-	 */
-	protected void update() {
-		IAction action = getAction();
-		if (action != null) {
-			action.setEnabled(isEnabled());
-		}
-	}
-	
-	/**
-	 * Returns whether this action is enabled
-	 * 
-	 * @return
-	 */
-	protected abstract boolean isEnabled();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection s) {
-		// do nothing
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractSelectionActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractSelectionActionDelegate.java
deleted file mode 100644
index 306e2cd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractSelectionActionDelegate.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.jobs.Job;
-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.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-
-public abstract class AbstractSelectionActionDelegate implements IViewActionDelegate, IActionDelegate2 {
-
-	/**
-	 * 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 = StructuredSelection.EMPTY;
-
-	/**
-	 * Used to schedule jobs, or <code>null</code> if none
-	 */
-	private IWorkbenchSiteProgressService fProgressService = null;
-	
-	/**
-	 * 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 AbstractSelectionActionDelegate() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		fSelection = null;
-	}
-
-	public void selectionChanged(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);
-		}
-	}
-
-	/**
-	 * 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$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		setView(view);
-		fProgressService = (IWorkbenchSiteProgressService) view.getAdapter(IWorkbenchSiteProgressService.class);
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * Returns the most recent selection
-	 * 
-	 * @return structured selection
-	 */
-	protected IStructuredSelection getSelection() {
-		return fSelection;
-	}
-
-	/**
-	 * Sets the most recent selection
-	 * 
-	 * @parm selection structured selection
-	 */
-	private void setSelection(IStructuredSelection context) {
-		fSelection = context;
-	}
-
-	protected void setAction(IAction action) {
-		fAction = action;
-	}
-
-	protected IAction getAction() {
-		return fAction;
-	}
-
-	protected void setView(IViewPart viewPart) {
-		fViewPart = viewPart;
-	}
-
-	/**
-	 * 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;
-	}
-
-	/* (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.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		setAction(action);
-	}
-
-	/**
-	 * Schedules the given job with this action's progress service
-	 * 
-	 * @param job
-	 */
-	protected void schedule(Job job) {
-		if (fProgressService == null) {
-			job.schedule();
-		} else {
-			fProgressService.schedule(job);
-		}
-	}
-}
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 c6d7f1e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ActionMessages extends NLS {
-    private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.actions.ActionMessages";//$NON-NLS-1$
-
-    public static String AddToFavoritesAction_1;
-    public static String AddToFavoritesAction_2;
-    public static String AddToFavoritesAction_3;
-
-    public static String ChangeVariableValue_errorDialogMessage;
-    public static String ChangeVariableValue_errorDialogTitle;
-    public static String ChangeVariableValue_title;
-    public static String ChangeVariableValue_toolTipText;
-    public static String ChangeVariableValue_1;
-    public static String ChangeVariableValue_2;
-    public static String ChangeVariableValue_3;
-    public static String ChangeVariableValue_4;
-
-    public static String CollapseAllAction_0;
-
-    public static String CopyToClipboardActionDelegate_Problem_Copying_to_Clipboard_1;
-    public static String CopyToClipboardActionDelegate_There_was_a_problem_when_accessing_the_system_clipboard__Retry__2;
-
-    public static String DisconnectActionDelegate_Disconnect_failed_1;
-    public static String DisconnectActionDelegate_Exceptions_occurred_attempting_to_disconnect__2;
-
-    public static String EditLaunchConfigurationAction_1;
-
-    public static String EnableBreakpointAction_Enable_breakpoint_s__failed_2;
-    public static String EnableBreakpointAction_Enabling_breakpoints_3;
-    public static String EnableBreakpointAction_Exceptions_occurred_enabling_the_breakpoint_s___4;
-
-    public static String OpenBreakpointMarkerAction__Go_to_File_1;
-    public static String OpenBreakpointMarkerAction_Exceptions_occurred_attempting_to_open_the_editor_for_the_breakpoint_resource_2;
-    public static String OpenBreakpointMarkerAction_Go_to_Breakpoint_1;
-    public static String OpenBreakpointMarkerAction_Go_to_File_for_Breakpoint_2;
-
-    public static String RelaunchActionDelegate_An_exception_occurred_while_launching_2;
-    public static String RelaunchActionDelegate_Launch_Failed_1;
-
-    public static String RemoveAllBreakpointsAction_0;
-    public static String RemoveAllBreakpointsAction_1;
-    public static String RemoveAllBreakpointsAction_2;
-
-    public static String RemoveBreakpointAction_0;
-    public static String RemoveBreakpointAction_1;
-    public static String RemoveBreakpointAction_2;
-    public static String RemoveBreakpointAction_Exceptions_occurred_attempting_to_remove_a_breakpoint__5;
-    public static String RemoveBreakpointAction_Removing_a_breakpoint_4;
-
-    public static String ResumeActionDelegate_Exceptions_occurred_attempting_to_resume__2;
-    public static String ResumeActionDelegate_Resume_failed__1;
-
-    public static String ShowSupportedBreakpointsAction_Show_For_Selected;
-    public static String ShowSupportedBreakpointsAction_tooltip;
-
-    public static String ShowTypesAction_Show__Type_Names_1;
-    public static String ShowTypesAction_Show_Type_Names;
-
-    public static String StepIntoActionDelegate_Exceptions_occurred_attempting_to_step_into_the_frame_2;
-    public static String StepIntoActionDelegate_Step_into_failed_1;
-
-    public static String StepOverActionDelegate_Exceptions_occurred_attempting_to_step_over_the_frame_2;
-    public static String StepOverActionDelegate_Step_over_failed_1;
-
-    public static String StepReturnActionDelegate_Exceptions_occurred_attempting_to_run_to_return_of_the_frame__2;
-    public static String StepReturnActionDelegate_Run_to_return_failed__1;
-
-    public static String SuspendActionDelegate_Exceptions_occurred_attempting_to_suspend__2;
-    public static String SuspendActionDelegate_Suspend_failed_1;
-
-    public static String TerminateActionDelegate_Exceptions_occurred_attempting_to_terminate__2;
-
-    public static String TerminateActionDelegate_Terminate_failed__1;
-
-    public static String TerminateAndRemoveActionDelegate_Exceptions_occurred_attempting_to_terminate_and_remove_2;
-    public static String TerminateAndRemoveActionDelegate_Terminate_and_remove_failed_1;
-
-    public static String RelaunchLastAction_Cannot_relaunch_1;
-    public static String RelaunchLastAction_Cannot_relaunch___0___because_it_does_not_support__2__mode_2;
-    public static String RelaunchLastAction_Error_relaunching_3;
-    public static String RelaunchLastAction_Error_encountered_attempting_to_relaunch_4;
-
-    public static String AbstractLaunchHistoryAction_0;
-    public static String AbstractLaunchHistoryAction_1;
-    public static String AbstractLaunchHistoryAction_2;
-    public static String AbstractLaunchHistoryAction_3;
-    public static String AbstractLaunchHistoryAction_4;
-
-    public static String ToggleDetailPaneAction_1;
-    public static String ToggleDetailPaneAction_2;
-    public static String ToggleDetailPaneAction_3;
-    public static String ToggleDetailPaneAction_4;
-    public static String ToggleDetailPaneAction_5;
-    public static String ToggleDetailPaneAction_6;
-    public static String ToggleDetailPaneAction_8;
-    public static String ToggleDetailPaneAction_9;
-    public static String ToggleBreakpointAction_0;
-    public static String ToggleBreakpointAction_1;
-    public static String ToggleBreakpointAction_2;
-
-    public static String WatchExpressionDialog_0;
-    public static String WatchExpressionDialog_1;
-    public static String WatchExpressionDialog_2;
-    public static String WatchExpressionDialog_3;
-    public static String WatchExpressionDialog_4;
-    public static String WatchAction_0;
-    public static String WatchAction_1;
-    public static String SkipAllBreakpointsAction_0;
-    public static String SkipAllBreakpointsAction_2;
-    public static String AssignValueAction_1;
-    public static String AssignValueAction_2;
-    public static String AssignValueAction_3;
-    public static String AssignValueAction_4;
-
-    public static String RunToLineAction_0;
-    public static String RunToLineAction_1;
-    public static String RunToLineHandler_0;
-    public static String RunToLineActionDelegate_4;
-
-    public static String RetargetAction_2;
-    public static String RetargetAction_3;
-    public static String ModifyWatchpointAction_0;
-    public static String ModifyWatchpointAction_1;
-    public static String LaunchShortcutsAction_1;
-    public static String FindDialog_1;
-    public static String FindDialog_3;
-    public static String FindAction_0;
-
-    static {
-        // load message values from bundle file
-        NLS.initializeMessages(BUNDLE_NAME, ActionMessages.class);
-    }
-
-    public static String AssignValueAction_0;
-
-    public static String AssignValueAction_5;
-
-    public static String AbstractDebugActionDelegate_0;
-
-    public static String AbstractDebugActionDelegate_1;
-
-    public static String RetargetAddMemoryBlockAction_0;
-
-    public static String RetargetAddMemoryBlockAction_1;
-
-    public static String AddMemoryRenderingActionDelegate_0;
-
-    public static String AddMemoryRenderingActionDelegate_1;
-
-    public static String AddMemoryRenderingActionDelegate_2;
-
-    public static String RulerEnableDisableBreakpointAction_0;
-
-    public static String RulerEnableDisableBreakpointAction_1;
-
-    public static String RulerEnableDisableBreakpointAction_2;
-
-    public static String RulerEnableDisableBreakpointAction_3;
-
-    public static String RemoveAllExpressionsAction_0;
-
-    public static String RemoveAllExpressionsAction_1;
-
-    public static String TerminateAndRelaunchAction_0;
-
-    public static String TerminateAndRelaunchAction_3;
-
-    public static String TerminateAndRelaunchAction_4;
-
-    public static String StepReturnAction_2;
-
-    public static String StepReturnAction_3;
-
-    public static String TerminateAndRemoveAction_0;
-
-    public static String TerminateAndRemoveAction_3;
-
-    public static String ResumeAction_0;
-
-    public static String ResumeAction_3;
-
-    public static String DisconnectAction_0;
-
-    public static String DisconnectAction_3;
-
-    public static String StepIntoAction_0;
-
-    public static String StepIntoAction_3;
-
-    public static String DropToFrameAction_0;
-
-    public static String DropToFrameAction_3;
-
-    public static String TerminateAllAction_2;
-
-    public static String TerminateAllAction_3;
-
-    public static String SuspendAction_0;
-
-    public static String SuspendAction_3;
-
-    public static String StepOverAction_0;
-
-    public static String StepOverAction_3;
-
-    public static String TerminateAction_0;
-
-    public static String TerminateAction_3;
-
-	public static String ConfigureColumnsAction_0;
-
-	public static String ConfigureColumnsAction_1;
-
-	public static String ConfigureColumnsAction_2;
-
-	public static String DeleteWorkingsetsMessageDialog_0;
-
-	public static String DeleteWorkingsetsMessageDialog_1;
-
-	public static String RemoveBreakpointAction_3;
-
-	public static String RemoveBreakpointAction_4;
-
-	public static String RemoveBreakpointAction_5;
-
-	public static String RemoveBreakpointAction_6;
-
-	public static String ShowTypesAction_0;
-}
\ No newline at end of file
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 872b948..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.properties
+++ /dev/null
@@ -1,190 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-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_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
-
-RemoveAllBreakpointsAction_0=Remove All Breakpoints
-RemoveAllBreakpointsAction_1=Are you sure you want to remove all breakpoints?
-RemoveAllBreakpointsAction_2=Remove Breakpoints
-RemoveAllExpressionsAction_0=Remove All Expressions
-RemoveAllExpressionsAction_1=Are you sure you want to remove all expressions?
-
-RemoveBreakpointAction_0=Delete Breakpoints
-RemoveBreakpointAction_1=Delete all breakpoints in the selected group(s)?
-RemoveBreakpointAction_2=Remove Breakpoints
-RemoveBreakpointAction_3=Remove Items
-RemoveBreakpointAction_4=Which item(s) would you like to remove?
-RemoveBreakpointAction_5=OK
-RemoveBreakpointAction_6=Cancel
-RemoveBreakpointAction_Exceptions_occurred_attempting_to_remove_a_breakpoint__5=An exception occurred attempting to remove breakpoint(s).
-RemoveBreakpointAction_Removing_a_breakpoint_4=Removing a breakpoint
-DeleteWorkingsetsMessageDialog_0=&Selected working set(s).
-DeleteWorkingsetsMessageDialog_1=&All breakpoints contained in selected working set(s).
-
-ResumeActionDelegate_Exceptions_occurred_attempting_to_resume__2=Exceptions occurred attempting to 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
-ShowTypesAction_0='Show Type Names' unavailable when columns are displayed.\nConfigure columns to display type names.
-
-StepIntoActionDelegate_Exceptions_occurred_attempting_to_step_into_the_frame_2=Exceptions occurred attempting to step into the frame
-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_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_failed__1=Step return failed.
-
-SuspendActionDelegate_Exceptions_occurred_attempting_to_suspend__2=Exceptions occurred attempting to suspend.
-SuspendActionDelegate_Suspend_failed_1=Suspend failed
-
-TerminateActionDelegate_Exceptions_occurred_attempting_to_terminate__2=Exceptions occurred attempting to terminate.
-
-TerminateActionDelegate_Terminate_failed__1=Terminate failed.
-
-TerminateAndRemoveActionDelegate_Exceptions_occurred_attempting_to_terminate_and_remove_2=Exceptions occurred attempting to 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
-
-##
-# @see Bug 105733TVT 3.1 - TCT 531 - Poor grammar in "Run Eclipse Application" and "Profile Eclipse Application"
-#	- the following string is used to display the tooltip for run/debug/profile buttons and is
-#     the concatentaion of "{mode} {configuration name}", for example "Run HelloWorld". In some languages
-#     this may need to be reversed to be translated properly. 
-##
-AbstractLaunchHistoryAction_0={0} {1}
-AbstractLaunchHistoryAction_1=Run
-AbstractLaunchHistoryAction_2=Debug
-AbstractLaunchHistoryAction_3=Profile
-AbstractLaunchHistoryAction_4=Launch
-AbstractDebugActionDelegate_0=Error
-AbstractDebugActionDelegate_1=Update debug action enablement
-
-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
-ToggleBreakpointAction_0=Toggle Brea&kpoint
-ToggleBreakpointAction_1=Error
-ToggleBreakpointAction_2=Unable to toggle breakpoint
-
-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.
-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
-AssignValueAction_0=Error Setting Value
-AssignValueAction_5=Value entered did not match the expected type.
-
-
-RunToLineAction_0=Error
-RunToLineAction_1=Run to line failed
-RunToLineHandler_0=Run To Line
-RunToLineActionDelegate_4=Run to &Line
-
-RetargetAction_2=Error
-RetargetAction_3=Operation failed
-ModifyWatchpointAction_0=Error
-ModifyWatchpointAction_1=Failed to modify watchpoint
-LaunchShortcutsAction_1=(none applicable)
-FindDialog_1=&Specify an element to select (? = any character, * = any String):
-FindDialog_3=Find
-FindAction_0=&Find...
-RetargetAddMemoryBlockAction_0=Add Memory Monitor Failed.
-RetargetAddMemoryBlockAction_1=Unable to add memory monitor.
-AddMemoryRenderingActionDelegate_0=Add Memory Rendering Failed
-AddMemoryRenderingActionDelegate_1=Unable to add the selected rendering.
-AddMemoryRenderingActionDelegate_2=Add Memory Rendering
-RulerEnableDisableBreakpointAction_0=Error
-RulerEnableDisableBreakpointAction_1=Failed to toggle breakpoint enablement
-RulerEnableDisableBreakpointAction_2=&Disable Breakpoint
-RulerEnableDisableBreakpointAction_3=&Enable Breakpoint
-TerminateAndRelaunchAction_0=org.eclipse.debug.ui.commands.TerminateAndRelaunch
-TerminateAndRelaunchAction_3=Terminate and Relaunch
-TerminateAndRelaunchAction_4=Terminate and Relaunch
-TerminateAndRemoveAction_0=Terminate and Remo&ve
-TerminateAndRemoveAction_3=Terminate and Remove
-TerminateAllAction_2=Termi&nate All
-TerminateAllAction_3=Terminate All
-TerminateAction_0=&Terminate
-TerminateAction_3=Terminate
-StepReturnAction_2=Step Return
-StepReturnAction_3=Step Ret&urn
-StepIntoAction_0=Step &Into
-StepIntoAction_3=Step Into
-StepOverAction_0=Step &Over
-StepOverAction_3=Step Over
-ResumeAction_0=Resu&me
-ResumeAction_3=Resume
-DisconnectAction_0=Disconn&ect
-DisconnectAction_3=Disconnect
-DropToFrameAction_0=Drop To Frame
-DropToFrameAction_3=Drop To Frame
-SuspendAction_0=&Suspend
-SuspendAction_3=Suspend
-ConfigureColumnsAction_0=Select &Columns...
-ConfigureColumnsAction_1=Select the &columns to display:
-ConfigureColumnsAction_2=Select Columns
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 6803f61..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import com.ibm.icu.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.PlatformUI;
-import org.eclipse.ui.actions.SelectionListenerAction;
-
-/**
- * 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);
-		PlatformUI.getWorkbench().getHelpSystem().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);
-		setGroup(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) {
-					ILaunchGroup group= DebugUITools.getLaunchGroup(configuration, getMode());
-					if (group == null) {
-					    return false;
-					}
-					setGroup(group);
-					setLaunchConfiguration(configuration);
-					setMode(launch.getLaunchMode());				
-					setText(MessageFormat.format(ActionMessages.AddToFavoritesAction_1, new String[]{DebugUIPlugin.removeAccelerators(getGroup().getLabel())})); 
-				}
-			}
-		}
-		
-		// Disable the action if the launch config is private
-		ILaunchConfiguration config = getLaunchConfiguration();
-		if (config == null) {
-			return false;
-		} 
-		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.AddToFavoritesAction_2, ActionMessages.AddToFavoritesAction_3, ex[0].getStatus()); // 
-		}
-	}
-
-}
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 ec3e103..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.jface.action.Action;
-
-/**
- * CollapseAllAction
- */
-public class CollapseAllAction extends Action {
-	
-	private AsynchronousTreeViewer fViewer;
-	
-	public CollapseAllAction(AsynchronousTreeViewer viewer) {
-		super(ActionMessages.CollapseAllAction_0, DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_COLLAPSE_ALL));
-		setToolTipText(ActionMessages.CollapseAllAction_0);
-		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/ConfigureColumnsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java
deleted file mode 100644
index 059c11a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-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.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Configures visible columns in an asynch tree viewer/
- * 
- * @since 3.2
- */
-public class ConfigureColumnsAction extends Action implements IUpdate {
-	
-	private AsynchronousTreeViewer fViewer;
-	
-	class ColumnContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return ((IColumnPresentation)inputElement).getAvailableColumns();
-		}
-
-		/* (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) {			
-		}
-		
-	}
-	
-	class ColumnLabelProvider extends LabelProvider {
-		
-		private Map fImages = new HashMap();
-
-		public Image getImage(Object element) {
-			ImageDescriptor imageDescriptor = fViewer.getColumnPresentation().getImageDescriptor((String)element);
-			if (imageDescriptor != null) {
-				Image image = (Image) fImages.get(imageDescriptor);
-				if (image == null) {
-					image = imageDescriptor.createImage();
-					fImages.put(imageDescriptor, image);
-				}
-				return image;
-			}
-			return null;
-		}
-
-		public String getText(Object element) {
-			return fViewer.getColumnPresentation().getHeader((String)element);
-		}
-
-		public void dispose() {
-			super.dispose();
-			Iterator iterator = fImages.values().iterator();
-			while (iterator.hasNext()) {
-				Image image = (Image) iterator.next();
-				image.dispose();
-			}
-			fImages.clear();
-		}
-		
-		
-		
-	}
-
-	public ConfigureColumnsAction(AsynchronousTreeViewer viewer) {
-		setText(ActionMessages.ConfigureColumnsAction_0);
-		setId(DebugUIPlugin.getUniqueIdentifier() + ".ConfigureColumnsAction"); //$NON-NLS-1$
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.CONFIGURE_COLUMNS_ACTION);
-		fViewer = viewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		setEnabled(fViewer.isShowColumns());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		ListSelectionDialog dialog = new ListSelectionDialog(
-				fViewer.getControl().getShell(),
-				fViewer.getColumnPresentation(),
-				new ColumnContentProvider(),
-				new ColumnLabelProvider(),
-				ActionMessages.ConfigureColumnsAction_1);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.CONFIGURE_COLUMNS_DIALOG);
-		String[] visibleColumns = fViewer.getVisibleColumns();
-		List initialSelection = new ArrayList(visibleColumns.length);
-		for (int i = 0; i < visibleColumns.length; i++) {
-			initialSelection.add(visibleColumns[i]);
-		}
-		dialog.setTitle(ActionMessages.ConfigureColumnsAction_2);
-		dialog.setInitialElementSelections(initialSelection);
-		if (dialog.open() == Window.OK) {
-			Object[] result = dialog.getResult();
-			String[] ids = new String[result.length];
-			System.arraycopy(result, 0, ids, 0, result.length);
-			fViewer.resetColumnSizes(ids);
-			fViewer.setVisibleColumns(ids);
-		}
-			
-	}
-	
-}
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 f13a110..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyToClipboardActionDelegate.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.viewers.ILabelResult;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ContentViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWTError;
-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.Control;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-
-public class CopyToClipboardActionDelegate extends AbstractDebugActionDelegate {
-	
-	private ContentViewer fViewer;
-	private static final String TAB = "\t"; //$NON-NLS-1$
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	private static final String SEPARATOR = "line.separator"; //$NON-NLS-1$
-	
-	/**
-	 * @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((ContentViewer) adapter.getViewer());
-				}
-				adapter.setAction(getActionId(), action);
-			}
-			return super.initialize(action, selection);
-		} 
-		return false;
-	}
-
-	protected String getActionId() {
-		return IDebugView.COPY_ACTION;
-	}
-
-	/** 
-	 * 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(ILabelResult item, StringBuffer buffer, int indent) {
-		for (int i= 0; i < indent; i++) {
-			buffer.append(TAB);
-		}
-		String[] labels = item.getLabels();
-		int count = labels.length;
-		if(count > 0) {
-			for (int i = 0; i < count; i++) {
-				String text = labels[i];
-				if(text != null && !text.trim().equals(EMPTY_STRING)) {
-					buffer.append(text+TAB);
-				}
-			}
-			buffer.append(System.getProperty(SEPARATOR));
-		}
-	}
-	
-	/**
-	 * Do the specific action using the current selection.
-	 */
-	public void run(final IAction action) {
-		if (fViewer instanceof AsynchronousTreeViewer) {
-			// force labels to be created
-			final AsynchronousTreeViewer atv = (AsynchronousTreeViewer)fViewer;
-			List selectedItems = getPrunedSelection();
-			TreeItem[]items = (TreeItem[]) selectedItems.toArray(new TreeItem[selectedItems.size()]);
-			final Object[] elements = new Object[selectedItems.size()];
-			for (int i = 0; i < elements.length; i++) {
-				elements[i] = items[i].getData();
-			}
-			if (elements.length > 0) {
-				final StringBuffer buffer = new StringBuffer();
-				IRunnableWithProgress runnable = new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-						monitor.beginTask(DebugUIPlugin.removeAccelerators(action.getText()), elements.length * 2);
-						for (int i = 0; i < elements.length; i++) {
-							Object element = elements[i];
-							if (element != null) {
-								SubProgressMonitor sub = new SubProgressMonitor(monitor, 1);
-								List results = atv.buildLabels(sub, element, ""); //$NON-NLS-1$
-								if (monitor.isCanceled()) {
-									throw new InterruptedException();
-								}
-								// now copy to buffer
-								performCopy(results, buffer);
-								monitor.worked(1);
-							} else {
-								monitor.worked(2);
-							}
-						}
-						monitor.done();
-					}
-				};
-				ProgressMonitorDialog dialog = new ProgressMonitorDialog(fViewer.getControl().getShell());
-				dialog.setCancelable(true);
-				try {
-					dialog.run(true, true, runnable);
-				} catch (InvocationTargetException e) {
-					DebugUIPlugin.log(e);
-					return;
-				} catch (InterruptedException e) {
-					return;
-				}
-				TextTransfer plainTextTransfer = TextTransfer.getInstance();
-				Clipboard clipboard= new Clipboard(fViewer.getControl().getDisplay());		
-				try {
-					doCopy(clipboard, plainTextTransfer, buffer);
-				} finally {
-					clipboard.dispose();
-				}
-			}
-
-		}
-	}
-	
-	protected void performCopy(List results, StringBuffer buffer) {
-		final Iterator iter= results.iterator();
-		if (results.size() > 0) {
-			int topLevel = ((ILabelResult)results.get(0)).getDepth();
-			while (iter.hasNext()) {
-				ILabelResult result = (ILabelResult) iter.next();
-				append(result, buffer, result.getDepth() - topLevel);
-			}
-		}
-	}
-	
-	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(fViewer.getControl().getShell(), ActionMessages.CopyToClipboardActionDelegate_Problem_Copying_to_Clipboard_1, ActionMessages.CopyToClipboardActionDelegate_There_was_a_problem_when_accessing_the_system_clipboard__Retry__2)) { // 
-				doCopy(clipboard, plainTextTransfer, buffer);
-			}
-		}	
-	}
-	
-	/**
-	 * Returns the selected items in the tree, pruning children
-	 * if from selected parents.
-	 */
-	protected List getPrunedSelection() {
-		Control control = fViewer.getControl();
-		List items = new ArrayList();
-		if (control instanceof Tree) {
-			Tree tree = (Tree) control;
-			TreeItem[] selection = tree.getSelection();
-
-			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;
-	}
-	
-	/**
-	 * 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);		
-	}
-	
-	/**
-	 * Only append children that are expanded in the tree viewer
-	 */
-	protected boolean shouldAppendChildren(TreeItem item) {
-		return item.getExpanded();
-	}
-			
-	protected ContentViewer getViewer() {
-		return fViewer;
-	}
-
-	protected void setViewer(ContentViewer 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/DebugAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.java
deleted file mode 100644
index 9a870f6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.LaunchShortcutsAction;
-
-/**
- * "Debug As" action in the top level "Run" menu.
- */
-public class DebugAsAction extends LaunchShortcutsAction {
-
-	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 c1b22de..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextualLaunchAction.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.actions.ContextualLaunchAction;
-
-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 496a5e3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 a68134a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 6e8152f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugToolbarAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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/EditLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java
deleted file mode 100644
index 4aa08f7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import com.ibm.icu.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.PlatformUI;
-import org.eclipse.ui.actions.SelectionListenerAction;
-
-/**
- * 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);
-		PlatformUI.getWorkbench().getHelpSystem().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.EditLaunchConfigurationAction_1, new String[]{configuration.getName()})); 
-					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/ExecutionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
deleted file mode 100644
index 8ffc08d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.ui.DebugUITools;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-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;
-		}
-		DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUIPlugin.getShell(), new StructuredSelection(), fLaunchGroupIdentifier);
-	}
-	
-	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/FindElementAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/FindElementAction.java
deleted file mode 100644
index 359368c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/FindElementAction.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeNavigationDialog;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.viewers.ILabelResult;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IUpdate;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-
-/**
- * Action which prompts the user to find/navigate to an element in an async tree.
- */
-public class FindElementAction extends Action implements IUpdate {
-	
-	private AsynchronousTreeViewer fViewer;
-	private IViewPart fView;
-	private List fLabelResults;
-	private Map fElementToResult = new HashMap();
-	
-	class FindLabelProvider extends LabelProvider {
-		
-		public FindLabelProvider() {
-		}
-
-		public Image getImage(Object element) {
-			ILabelResult result = (ILabelResult) fElementToResult.get(element);
-			if (result != null) {
-				Image[] images = result.getImages();
-				if (images != null && images.length > 0) {
-					return images[0];
-				}
-			}
-			return null;
-		}
-
-		public String getText(Object element) {
-			ILabelResult result = (ILabelResult) fElementToResult.get(element);
-			if (result != null) {
-				String[] labels = result.getLabels();
-				if (labels != null && labels.length > 0) {
-					return labels[0];
-				}
-			}
-			return ""; //$NON-NLS-1$
-		}
-		
-	}
-
-	public FindElementAction(IViewPart view, AsynchronousTreeViewer viewer) {
-		setText(ActionMessages.FindAction_0);
-		setId(DebugUIPlugin.getUniqueIdentifier() + ".FindElementAction"); //$NON-NLS-1$
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.FIND_ELEMENT_ACTION);
-		setActionDefinitionId(IWorkbenchActionDefinitionIds.FIND_REPLACE);
-		fViewer = viewer;
-		fView = view;
-	}
-
-	public void run() {
-		final Object element = fViewer.getControl().getData();
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				fLabelResults = fViewer.buildLabels(monitor, element, DebugUIPlugin.removeAccelerators(ActionMessages.FindAction_0));
-				if (monitor.isCanceled()) {
-					throw new InterruptedException();
-				}
-			}
-		};
-		ProgressMonitorDialog dialog = new ProgressMonitorDialog(fView.getSite().getShell());
-		dialog.setCancelable(true);
-		try {
-			dialog.run(true, true, runnable);
-		} catch (InvocationTargetException e) {
-			DebugUIPlugin.log(e);
-			return;
-		} catch (InterruptedException e) {
-			return;
-		}
-		Iterator iter = fLabelResults.iterator();
-		while (iter.hasNext()) {
-			ILabelResult result = (ILabelResult) iter.next();
-			fElementToResult.put(result.getElement(), result);
-		}		
-		performFind();
-		fElementToResult.clear();
-		fLabelResults.clear();
-	}
-
-	protected void performFind() {
-		AsynchronousTreeNavigationDialog dialog = new AsynchronousTreeNavigationDialog(fView.getSite().getShell(), new FindLabelProvider(), fElementToResult.keySet().toArray()); 
-		dialog.setTitle(ActionMessages.FindDialog_3);
-		dialog.setMessage(ActionMessages.FindDialog_1);
-		if (dialog.open() == Window.OK) {
-			Object[] elements = dialog.getResult();
-			if (elements.length == 1) {
-				ILabelResult result = (ILabelResult) fElementToResult.get(elements[0]);
-				TreePath treePath = result.getTreePath();
-				if (treePath != null) {
-					fViewer.setSelection(new TreeSelection(treePath), true, true);
-				}
-			}
-		}
-	}
-	
-	public void update() {
-		setEnabled(fViewer.getInput() != null);
-	}	
-	
-}
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 675befe..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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) {
-				if (page.getActivePart() == page.getActiveEditor()) {
-					IEditorPart editor = page.getActiveEditor();
-					if (editor != null) {
-						fShortcut.launch(editor, fMode);
-					}
-				} else {
-					ISelection selection = page.getSelection();
-					if (selection instanceof IStructuredSelection) {
-						fShortcut.launch(selection, 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 30239c8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchablePropertyTester.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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/OpenDebugConfigurations.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
deleted file mode 100644
index 4445eee..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 51e62ee..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenProfileConfigurations.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 b84d912..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 321d03c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileAsAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.LaunchShortcutsAction;
-
-/**
- * "Profile As" action in the top level "Run" menu.
- */
-public class ProfileAsAction extends LaunchShortcutsAction {
-
-	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 c2ddc5b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileContextualLaunchAction.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM 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 317ae7a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileHistoryMenuAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 e127254..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileLastAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 469f8fd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileToolbarAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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/RelaunchActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
deleted file mode 100644
index d461458..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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) {
-		ILaunch launch= getLaunch(object);
-        if (launch != null) {
-            relaunch(launch.getLaunchConfiguration(), launch.getLaunchMode());
-        }
-	}
-    
-    public static ILaunch getLaunch(Object element) {
-        ILaunch launch= null;
-        if (element instanceof IDebugElement) {
-            launch= ((IDebugElement)element).getLaunch();
-        } else if (element instanceof ILaunch) {
-            launch= ((ILaunch)element);
-        } else if (element instanceof IProcess) {
-            launch= ((IProcess)element).getLaunch();
-        }
-        return launch;
-    }
-	
-	/**
-	 * 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.RelaunchActionDelegate_Launch_Failed_1; 
-	}
-	
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.RelaunchActionDelegate_An_exception_occurred_while_launching_2; 
-	}
-}
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 4d95aec..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import com.ibm.icu.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.RelaunchLastAction_Cannot_relaunch_1; 
-					String message = MessageFormat.format(ActionMessages.RelaunchLastAction_Cannot_relaunch___0___because_it_does_not_support__2__mode_2, new String[] {configName, getMode()}); 
-					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.RelaunchLastAction_Error_relaunching_3, ActionMessages.RelaunchLastAction_Error_encountered_attempting_to_relaunch_4, ce); // 
-		}
-	}
-	
-	/**
-	 * 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/RemoveAllTerminatedAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
deleted file mode 100644
index 70a3493..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.jface.action.IAction;
- 
-/**
- * Removes all terminated/detached launches from the
- * active debug view.
- */
-public class RemoveAllTerminatedAction extends AbstractRemoveAllActionDelegate implements ILaunchesListener2 {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#isEnabled()
-	 */
-	protected boolean isEnabled() {
-		ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches();
-		if (launches != null) {
-			for (int i= 0; i < launches.length; i++) {
-				if (launches[i].isTerminated()) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void removeTerminatedLaunches(ILaunch[] elements) {
-		List removed = new ArrayList();
-		for (int i = 0; i < elements.length; i++) {
-			ILaunch launch = 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()]));
-		}				
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#initialize()
-	 */
-	protected void initialize() {
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesAdded(ILaunch[] launches) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesChanged(ILaunch[] launches) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesRemoved(ILaunch[] launches) {
-		IAction action = getAction();
-		if (action != null) {
-			if (action.isEnabled()) {
-				update();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesTerminated(ILaunch[] launches) {
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches();
-		removeTerminatedLaunches(launches);
-	}
-}
-
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 71bfbb9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetAction.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 fWindow = null;
-	private IWorkbenchPart fActivePart = null;
-	private Object fTargetAdapter = null;
-	private IAction fAction = 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 (fActivePart != null) {
-			ISelectionProvider selectionProvider = fActivePart.getSite().getSelectionProvider();
-			if (selectionProvider != null) {
-				return selectionProvider.getSelection();
-			}
-		}
-		return EMPTY_SELECTION;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		fWindow.getPartService().removePartListener(this);
-		fActivePart = null;
-		fTargetAdapter = null;
-		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.fWindow = 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 (fTargetAdapter != null) {
-			try {
-				performAction(fTargetAdapter, getTargetSelection(), fActivePart);
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(fWindow.getShell(), ActionMessages.RetargetAction_2, ActionMessages.RetargetAction_3, e.getStatus()); // 
-			}
-		}
-	}
-	
-	/**
-	 * 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.fAction = action;
-		// if the active part did not provide an adapter, see if the selectoin does
-		if (fTargetAdapter == null && selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection) selection;
-			if (!ss.isEmpty()) {
-				Object object = ss.getFirstElement();
-				if (object instanceof IAdaptable) {
-					fTargetAdapter = getAdapter((IAdaptable) object);
-				}
-			}
-		}
-		update();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partActivated(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partActivated(IWorkbenchPart part) {
-		fActivePart = part;
-		fTargetAdapter = 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())) { 
-				fTargetAdapter = adapterManager.loadAdapter(adaptable, getAdapterClass().getName()); 
-			}
-		}
-		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(fActivePart)) {
-			fActivePart = null;
-			fTargetAdapter = 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 (fAction == null) {
-			return;
-		}
-		final Object target = fTargetAdapter;
-		if (target != null) {
-			Runnable r = new Runnable() {
-				public void run() {
-                    if (fActivePart != null) {
-                        fAction.setEnabled(canPerformAction(target, getTargetSelection(), fActivePart));
-                    }
-				}
-			};
-			DebugUIPlugin.getStandardDisplay().asyncExec(r);
-		} else {
-			fAction.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/RetargetRunToLineAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.java
deleted file mode 100644
index bea3d34..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextManager;
-import org.eclipse.debug.ui.actions.IRunToLineTarget;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-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 IDebugContextListener fContextListener = new DebugContextListener();
-	private ISuspendResume fTargetElement = null;
-	
-	class DebugContextListener implements IDebugContextListener {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextActivated(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-		 */
-		public void contextActivated(ISelection selection, IWorkbenchPart part) {
-			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.debug.internal.ui.contexts.provisional.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-		 */
-		public void contextChanged(ISelection selection, IWorkbenchPart part) {
-			contextActivated(selection, part);
-		}
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		DebugContextManager.getDefault().removeDebugContextListener(fContextListener, fWindow);
-		super.dispose();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		super.init(window);
-		IDebugContextManager manager = DebugContextManager.getDefault();
-		manager.addDebugContextListener(fContextListener, window);
-		ISelection activeContext = manager.getActiveContext(window);
-		fContextListener.contextActivated(activeContext, null);
-	}
-		
-	/* (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 fTargetElement != null &&
-			((IRunToLineTarget)target).canRunToLine(part, selection, fTargetElement);
-	}
-	
-	/* (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, fTargetElement);
-	}
-}
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 efbd375..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunAsAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.LaunchShortcutsAction;
-
-/**
- * "Run As" action in the top level "Run" menu.
- */
-public class RunAsAction extends LaunchShortcutsAction {
-
-	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 1648c19..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunContextualLaunchAction.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.actions.ContextualLaunchAction;
-
-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 fedfecc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 c645a3c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 353cc19..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunToolbarAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 39384a0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IViewPart;
-
-public abstract class SelectAllAction extends AbstractRemoveAllActionDelegate {
-	
-	private IViewPart fView;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractSelectionActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fView = view;
-		IDebugView debugView = (IDebugView) getView().getAdapter(IDebugView.class);
-		if (debugView != null) {
-			debugView.setAction(getActionId(), getAction());
-		}
-		super.init(view);
-	}
-	
-	protected IViewPart getView() {
-		return fView;
-	}
-	
-	protected abstract String getActionId();
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action){
-		if (!(getView() instanceof IDebugView)) {
-			return;
-		}
-		Viewer viewer = ((IDebugView) getView()).getViewer();
-		Control control = viewer.getControl();
-		if (control instanceof Tree) {
-			((Tree)control).selectAll();
-		}
-	}
-	
-}
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 864aa5f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusInfo.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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/ToggleFilterAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
deleted file mode 100644
index b2ba81c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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/ViewManagementAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.java
deleted file mode 100644
index 2e83193..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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/breakpointGroups/AbstractBreakpointsViewAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.java
deleted file mode 100644
index b396f79..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-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.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * Abstract implementation of an action contributed to the breakpoints view.
- */
-public abstract class AbstractBreakpointsViewAction implements IViewActionDelegate, IActionDelegate2 {
-    
-    /**
-     * The breakpoints view that this action has been contributed to.
-     */
-    protected BreakpointsView fView;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-     */
-    public void init(IViewPart view) {
-        fView= (BreakpointsView) view;
-    }
-    
-    /* (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) {
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate2#dispose()
-     */
-    public void dispose() {
-    }
-    
-    /* (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/breakpointGroups/AdvancedGroupBreakpointsByAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AdvancedGroupBreakpointsByAction.java
deleted file mode 100644
index 3f01116..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AdvancedGroupBreakpointsByAction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.window.Window;
-
-/**
- * Action that opens a dialog to select which breakpoint
- * container factories should be applies to the breakpoints
- * view.
- */
-public class AdvancedGroupBreakpointsByAction extends Action {
-	
-	private BreakpointsView fView;
-	
-	public AdvancedGroupBreakpointsByAction(BreakpointsView view) {
-        super("", IAction.AS_RADIO_BUTTON); //$NON-NLS-1$
-		fView= view;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-        if (isChecked()) {
-    	    GroupBreakpointsByDialog dialog = new GroupBreakpointsByDialog(fView);
-    		if (dialog.open() == Window.OK) {
-    			fView.setBreakpointOrganizers(dialog.getOrganizers());
-    		}
-        }
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointGroupMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointGroupMessages.java
deleted file mode 100644
index 44c0044..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointGroupMessages.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.osgi.util.NLS;
-
-public class BreakpointGroupMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.actions.breakpointGroups.BreakpointGroupMessages";//$NON-NLS-1$
-	//
-	// Copyright (c) 2004, 2005 IBM Corporation and others.
-	// All rights reserved. This program and the accompanying materials
-	// are made available under the terms of the Eclipse Public License v1.0
-	// which accompanies this distribution, and is available at
-	// http://www.eclipse.org/legal/epl-v10.html
-	//
-	// Contributors:
-	//     IBM Corporation - initial API and implementation
-	//
-
-	public static String GroupBreakpointsByAction_0;
-	public static String GroupBreakpointsByAction_1;
-	public static String GroupBreakpointsByDialog_0;
-	public static String GroupBreakpointsByDialog_1;
-	public static String GroupBreakpointsByDialog_2;
-	public static String GroupBreakpointsByDialog_3;
-	public static String GroupBreakpointsByDialog_4;
-	public static String GroupBreakpointsByDialog_5;
-	public static String GroupBreakpointsByDialog_6;
-	public static String GroupBreakpointsByDialog_7;
-	public static String CopyBreakpointsAction_0;
-	public static String CopyBreakpointsAction_1;
-	public static String CopyBreakpointsAction_2;
-	public static String CopyBreakpointsAction_3;
-	public static String PasteBreakpointsAction_0;
-	public static String PasteBreakpointsAction_1;
-	public static String RemoveFromWorkingSetAction_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, BreakpointGroupMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointGroupMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointGroupMessages.properties
deleted file mode 100644
index fece96f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointGroupMessages.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-GroupBreakpointsByAction_0=&Breakpoints
-GroupBreakpointsByAction_1=&Advanced...
-GroupBreakpointsByDialog_0=Specify nested groupings for the Breakpoints view.
-GroupBreakpointsByDialog_1=A&vailable Groups:
-GroupBreakpointsByDialog_2=&Add -->
-GroupBreakpointsByDialog_3=&Selected Groups:
-GroupBreakpointsByDialog_4=<-- &Remove
-GroupBreakpointsByDialog_5=Move &Up
-GroupBreakpointsByDialog_6=Move &Down
-GroupBreakpointsByDialog_7=Group Breakpoints
-CopyBreakpointsAction_0=&Copy
-CopyBreakpointsAction_1=Copy Breakpoints
-CopyBreakpointsAction_2=Problem Copying to Clipboard
-CopyBreakpointsAction_3=There was a problem when accessing the system clipboard. Retry?
-PasteBreakpointsAction_0=&Paste
-PasteBreakpointsAction_1=Paste Breakpoints
-RemoveFromWorkingSetAction_0=Remove from &Working Set
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointSelectionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointSelectionAction.java
deleted file mode 100644
index a1c90fb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointSelectionAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.ui.actions.SelectionListenerAction;
-
-/**
- * A selection listener action for the breakpoints view.
- */
-public abstract class BreakpointSelectionAction extends SelectionListenerAction {
-    
-    private BreakpointsView fView;
-    
-    /**
-     * Constructs an action for the breakpoints view.
-     * 
-     * @param text action name
-     * @param view breakpoints view
-     */
-    public BreakpointSelectionAction(String text, BreakpointsView view) {
-        super(text);
-        fView = view;
-    }
-    
-    /**
-     * Returns the breakpoints view.
-     * 
-     * @return breakpoints view
-     */
-    protected BreakpointsView getBreakpointsView() {
-        return fView;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointWorkingSetAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointWorkingSetAction.java
deleted file mode 100644
index 1ed2fff..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointWorkingSetAction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewPart;
-
-/**
- * An action which clears (sets the null) the default breakpoint group.
- * @see org.eclipse.debug.core.IBreakpointManager#setAutoGroup(String)
- */
-public abstract class BreakpointWorkingSetAction extends AbstractBreakpointsViewAction implements IPropertyChangeListener {
-    
-    protected IAction fAction; 
-
-    /* (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) {
-        update();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-     */
-    public void init(IViewPart view) {
-        super.init(view);
-        DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate2#dispose()
-     */
-    public void dispose() {
-        DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-        super.dispose();
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-     */
-    public void init(IAction action) {
-        fAction = action;
-        super.init(action);
-        update();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent event) {
-        if (event.getProperty().equals(IInternalDebugUIConstants.MEMENTO_BREAKPOINT_WORKING_SET_NAME)) {
-            update();
-        }
-
-    }
-    protected abstract void update();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java
deleted file mode 100644
index f6d50a8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointSetOrganizer;
-import org.eclipse.jface.action.IAction;
-
-/**
- * An action which clears (sets the null) the default breakpoint group.
- * @see org.eclipse.debug.core.IBreakpointManager#setAutoGroup(String)
- */
-public class ClearDefaultBreakpointGroupAction extends BreakpointWorkingSetAction {
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run(IAction action) {
-        BreakpointSetOrganizer.setDefaultWorkingSet(null);
-    }
-
-    protected void update() {
-        fAction.setEnabled(BreakpointSetOrganizer.getDefaultWorkingSet() != null);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsAction.java
deleted file mode 100644
index 84a7498..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsAction.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.SWTError;
-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.ui.views.navigator.LocalSelectionTransfer;
-
-/**
- * Action for copying the currently selected breakpoints to the clipboard.
- */
-public class CopyBreakpointsAction extends BreakpointSelectionAction {
-
-    /**
-     * System clipboard
-     */
-    private Clipboard clipboard;
-
-    /**
-     * Associated paste action. May be <code>null</code>
-     */
-    private PasteBreakpointsAction pasteAction;
-    
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     * @param clipboard a platform clipboard
-     */
-    public CopyBreakpointsAction(BreakpointsView view, Clipboard clipboard) {
-        super(BreakpointGroupMessages.CopyBreakpointsAction_0, view); 
-        Assert.isNotNull(clipboard);
-        this.clipboard = clipboard;
-        setToolTipText(BreakpointGroupMessages.CopyBreakpointsAction_1); 
-    }
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     * @param clipboard a platform clipboard
-     * @param pasteAction a paste action
-     */
-    public CopyBreakpointsAction(BreakpointsView view, Clipboard clipboard, PasteBreakpointsAction pasteAction) {
-        this(view, clipboard);
-        this.pasteAction = pasteAction;
-    }
-
-    /**
-     * The <code>CopyAction</code> implementation of this method defined 
-     * on <code>IAction</code> copies the selected resources to the 
-     * clipboard.
-     */
-    public void run() {
-        IStructuredSelection selection = getStructuredSelection();
-        Object[] objects = selection.toArray();
-        StringBuffer buffer = new StringBuffer();
-        ILabelProvider labelProvider = (ILabelProvider) ((StructuredViewer)getBreakpointsView().getViewer()).getLabelProvider();
-        for (int i = 0; i < objects.length; i++) {
-            Object object = objects[i];
-            if (i > 0) {
-                buffer.append("\n"); //$NON-NLS-1$
-            }
-            buffer.append(labelProvider.getText(object));
-        }
-        setClipboard(selection, buffer.toString());
-
-        // update the enablement of the paste action
-        // workaround since the clipboard does not suppot callbacks
-        if (pasteAction != null && pasteAction.getStructuredSelection() != null)
-            pasteAction.selectionChanged(pasteAction.getStructuredSelection());
-    }
-
-    /**
-     * Set the clipboard contents. Prompt to retry if clipboard is busy.
-     * 
-     * @param selection the selection to copy to the clipboard
-     */
-    private void setClipboard(ISelection selection, String text) {
-        try {
-            LocalSelectionTransfer.getInstance().setSelection(selection);
-            LocalSelectionTransfer.getInstance().setSelectionSetTime(System.currentTimeMillis());
-            clipboard.setContents(new Object[] {selection, text}, new Transfer[] {LocalSelectionTransfer.getInstance(), TextTransfer.getInstance()});
-        } catch (SWTError e) {
-            if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-                throw e;
-            if (MessageDialog.openQuestion(
-                    getBreakpointsView().getSite().getShell(), BreakpointGroupMessages.CopyBreakpointsAction_2, 
-                    BreakpointGroupMessages.CopyBreakpointsAction_3)) { 
-                setClipboard(selection, text);
-            }
-        }
-    }
-
-    /**
-     * Enables if one or more breakpoints are selected.
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        if (selection.isEmpty()) {
-            return false;
-        }
-        Iterator iterator = selection.iterator();
-        while (iterator.hasNext()) {
-            if (!(iterator.next() instanceof IBreakpoint)) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/EditBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/EditBreakpointGroupAction.java
deleted file mode 100644
index d8225fc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/EditBreakpointGroupAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
-import org.eclipse.debug.internal.ui.views.breakpoints.WorkingSetCategory;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-
-/**
- * An action to edit a breakpoint working set.
- */
-public class EditBreakpointGroupAction extends AbstractBreakpointsViewAction {
-	
-	/**
-	 * The currently selected breakpoints
-	 */
-	private IWorkingSet fSet = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-        IWorkingSetEditWizard editWizard = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetEditWizard(fSet);
-        WizardDialog dialog = new WizardDialog(DebugUIPlugin.getShell(), editWizard);
-        dialog.open();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection sel) {
-		IStructuredSelection selection= (IStructuredSelection) sel;
-        fSet = null;
-        if (selection.size() == 1) {
-            Object element = selection.getFirstElement();
-			if (element instanceof BreakpointContainer) {
-                BreakpointContainer container = (BreakpointContainer)element;
-                IAdaptable category = container.getCategory();
-                if (category instanceof WorkingSetCategory) {
-                    IWorkingSet set = ((WorkingSetCategory)category).getWorkingSet();
-                    action.setEnabled(true);
-                    fSet = set;
-                    return;
-                }
-			}
-		}
-		action.setEnabled(false);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsAction.java
deleted file mode 100644
index b6fd6cd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.debug.internal.ui.views.breakpoints.IBreakpointOrganizer;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-
-/**
- * An action which sets the breakpoint factory on a breakpoint view,
- * effectively telling the view to group breakpoints according to
- * some criteria (as determined by the factory).
- */
-public class GroupBreakpointsAction extends Action {
-    
-    private IBreakpointOrganizer fOrganzier;
-    private BreakpointsView fView;
-
-    /**
-     * Creates a new action which will group breakpoints in the given
-     * breakpoint view using the given breakpoint container factory
-     * @param factory the factory that will be applied to the given view
-     *  when this action is run
-     * @param view the breakpoints view
-     */
-    public GroupBreakpointsAction(IBreakpointOrganizer organizer, BreakpointsView view) {
-        super("", IAction.AS_RADIO_BUTTON); //$NON-NLS-1$
-        fOrganzier= organizer;
-        fView= view;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.IAction#run()
-     */
-    public void run() {
-        if (isChecked()) {
-            if (fOrganzier == null) {
-                fView.setBreakpointOrganizers(null);
-            } else {
-                fView.setBreakpointOrganizers(new IBreakpointOrganizer[]{fOrganzier});
-            }
-        }
-    }
-    
-    /**
-     * Returns this action's organizer.
-     * 
-     * @return breakpoint organizer
-     */
-    public IBreakpointOrganizer getOrganizer() {
-    	return fOrganzier;
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java
deleted file mode 100644
index 4d3053c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointOrganizerManager;
-import org.eclipse.debug.internal.ui.views.breakpoints.IBreakpointOrganizer;
-import org.eclipse.debug.ui.IDebugUIConstants;
-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;
-
-/**
- * 
- */
-public class GroupBreakpointsByAction extends AbstractBreakpointsViewAction implements IMenuCreator {
-
-	private IAction fAction= null;
-	
-	public GroupBreakpointsByAction() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.IMenuCreator#dispose()
-     */
-    public void dispose() {
-    }
-
-    /* (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) {
-		Menu menu = new Menu(parent);
-		menu.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(m);
-			}
-		});		
-		return menu;
-    }
-    
-	/**
-	 * Fill pull down menu with the "group by" options
-	 */
-	private void fillMenu(Menu menu) {
-		// determine which item should be checked
-		IBreakpointOrganizer[] organizers = fView.getBreakpointOrganizers();
-		boolean none = false;
-		boolean advanced = false;
-		IBreakpointOrganizer organizer = null;
-		if (organizers == null || organizers.length == 0) {
-			none = true;
-		} else if (organizers.length > 1) {
-			advanced = true;
-		} else {
-			organizer = organizers[0];
-		}
-		
-        int accel = 1;
-        // Add hard-coded action for flat breakpoints list
-        IAction action = new GroupBreakpointsAction(null, fView);
-        addAccel(accel, action, BreakpointGroupMessages.GroupBreakpointsByAction_0); 
-        accel++;
-        action.setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_VIEW_BREAKPOINTS));
-        action.setChecked(none);
-        ActionContributionItem item= new ActionContributionItem(action);
-        item.fill(menu, -1);
-
-		// Add actions for each contributed orgranizer
-	    List actions = getActions(accel);
-        accel = accel + actions.size();
-        Iterator actionIter = actions.iterator();
-	    while (actionIter.hasNext()) {
-			GroupBreakpointsAction bpAction = (GroupBreakpointsAction) actionIter.next();
-			bpAction.setChecked(bpAction.getOrganizer().equals(organizer));
-			item= new ActionContributionItem(bpAction);
-			item.fill(menu, -1);
-	    }
-	                    
-        // advanced action
-        AdvancedGroupBreakpointsByAction advancedAction = new AdvancedGroupBreakpointsByAction(fView);
-        addAccel(accel, advancedAction,BreakpointGroupMessages.GroupBreakpointsByAction_1); 
-        advancedAction.setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_HIERARCHICAL));
-        advancedAction.setChecked(advanced);
-		item= new ActionContributionItem(advancedAction);
-		item.fill(menu, -1);
-	}
-    
-    public List getActions(int accel) {
-        List actions= new ArrayList();
-        IBreakpointOrganizer[] organizers = BreakpointOrganizerManager.getDefault().getOrganizers();
-        for (int i = 0; i < organizers.length; i++) {
-        	IBreakpointOrganizer organizer = organizers[i];
-            IAction action = new GroupBreakpointsAction(organizer, fView);
-            addAccel(accel, action, organizer.getLabel());
-            accel++;
-            action.setImageDescriptor(organizer.getImageDescriptor());
-            actions.add(action);
-        }        
-        return actions;
-    }
-    
-    private void addAccel(int accel, IAction action, String label) {
-        StringBuffer actionLabel= new StringBuffer();
-        if (accel != 10) {
-            if (accel < 10) {
-                // add the numerical accelerators 1 through 9
-                actionLabel.append('&');
-            }
-            actionLabel.append(accel);
-        } else {
-            actionLabel.append("1&0"); //$NON-NLS-1$
-        }
-        accel++;
-        actionLabel.append(' ');
-        actionLabel.append(label);
-        action.setText(actionLabel.toString());        
-    }
-    
-    /* (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) {
-	    if (action != fAction) {
-	        action.setMenuCreator(this);
-	        fAction= action;
-	    }
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java
deleted file mode 100644
index f23e48f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java
+++ /dev/null
@@ -1,522 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointOrganizerManager;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.debug.internal.ui.views.breakpoints.IBreakpointOrganizer;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-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.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-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.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Tree;
-
-/**
- * Dialog which presents available breakpoint groupings to
- * the user and allows them to specify which they'd like
- * to use and in what order they should be applied.
- */
-public class GroupBreakpointsByDialog extends Dialog {
-	
-	private BreakpointsView fView;
-	
-	// Table viewer that presents available containers
-	private TableViewer fAvailableViewer;
-	private AvailableOrganizersProvider fAvailableOrganizersProvider= new AvailableOrganizersProvider();
-	
-	// Tree viewer that presents selected containers
-	private TreeViewer fSelectedViewer;
-	private SelectedOrganizerProvider fSelectedOrganizersProvider= new SelectedOrganizerProvider();
-	
-	private List fResult= new ArrayList();
-
-	private Button fAddButton;
-	private Button fRemoveButton;
-	private Button fMoveUpButton;
-	private Button fMoveDownButton;
-	
-	/**
-	 * Selection listener that listens to selection from all buttons in this
-	 * dialog.
-	 */
-	private SelectionAdapter fSelectionListener= new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Object source= e.getSource();
-			if (source == fAddButton) {
-				handleAddPressed();
-			} else if (source == fRemoveButton) {
-				handleRemovePressed();
-			} else if (source == fMoveUpButton) {
-				handleMoveUpPressed();
-			} else if (source == fMoveDownButton) {
-				handleMoveDownPressed();
-			}
-		}
-	};
-
-	protected GroupBreakpointsByDialog(BreakpointsView view) {
-		super(view.getSite().getShell());
-		fView= view;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		ILabelProvider labelProvider= new BreakpointOrganzierLabelProvider();
-		
-		Composite parentComposite= (Composite) super.createDialogArea(parent);
-		parentComposite.setFont(parent.getFont());
-		Composite composite= new Composite(parentComposite, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-        composite.setLayout(layout);
-		GridData data= new GridData(GridData.FILL_BOTH);
-		data.heightHint= 400;
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		
-		Label label= new Label(composite, SWT.WRAP);
-		label.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_0); 
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.horizontalSpan = 3;
-        label.setLayoutData(gridData);
-		
-		createAvailableViewer(composite, labelProvider);
-		createButtons(composite);
-		createSelectedViewer(composite, labelProvider);
-
-		initializeContent();
-		updateViewers();
-		Dialog.applyDialogFont(parentComposite);
-		return parentComposite;
-	}
-	
-	/**
-	 * Divides the available breakpoint container factories into the
-	 * appropriate viewers ("available" or "selected").
-	 */
-	private void initializeContent() {
-		IBreakpointOrganizer[] organizers= BreakpointOrganizerManager.getDefault().getOrganizers();
-		for (int i = 0; i < organizers.length; i++) {
-			fAvailableOrganizersProvider.addAvailable(organizers[i]);
-		}
-		organizers = fView.getBreakpointOrganizers();
-        if (organizers != null) {
-    		for (int i = 0; i < organizers.length; i++) {
-                fSelectedOrganizersProvider.addSelected(organizers[i]);
-            }
-        }
-	}
-
-	/**
-	 * Creates and configured the viewer that shows the available (not currently selected)
-	 * breakpoint container factories.
-	 */
-	private void createAvailableViewer(Composite parent, ILabelProvider labelProvider) {		
-		Composite availableComposite= new Composite(parent, SWT.NONE);
-		availableComposite.setFont(parent.getFont());
-		GridLayout layout = new GridLayout();
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		availableComposite.setLayout(layout);
-		GridData gridData= new GridData(GridData.FILL_BOTH);
-		gridData.widthHint= 225;
-		availableComposite.setLayoutData(gridData);
-
-		Label label= new Label(availableComposite, SWT.WRAP);
-		label.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_1); 
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-        label.setLayoutData(gridData);
-		
-		fAvailableViewer= new TableViewer(availableComposite);
-		fAvailableViewer.setContentProvider(fAvailableOrganizersProvider);
-		fAvailableViewer.setLabelProvider(labelProvider);
-		fAvailableViewer.setInput(new Object());
-		Table table = fAvailableViewer.getTable();
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-		table.setFont(parent.getFont());
-		fAvailableViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				handleAddPressed();
-			}
-		});
-		fAvailableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateAddButton();
-			}
-		});
-	}
-
-	/**
-	 * Creates and configures the viewer that shows the currently selected
-	 * breakpoint container factories.
-	 */
-	private void createSelectedViewer(Composite parent, ILabelProvider labelProvider) {
-		Composite selectedComposite= new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		layout.numColumns= 2;
-		selectedComposite.setLayout(layout);
-		GridData gridData= new GridData(GridData.FILL_BOTH);
-		gridData.widthHint= 225;
-		selectedComposite.setLayoutData(gridData);
-		selectedComposite.setFont(parent.getFont());
-		
-		Label label= new Label(selectedComposite, SWT.WRAP);
-		label.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_3); 
-		gridData = new GridData();
-		gridData.horizontalSpan = 2;
-        label.setLayoutData(gridData);
-		
-		fSelectedViewer= new TreeViewer(selectedComposite);
-		fSelectedViewer.setContentProvider(fSelectedOrganizersProvider);
-		fSelectedViewer.setLabelProvider(labelProvider);
-		fSelectedViewer.setInput(new Object());
-		Tree tree = fSelectedViewer.getTree();
-		tree.setLayoutData(new GridData(GridData.FILL_BOTH));
-		tree.setFont(parent.getFont());
-		fSelectedViewer.addDoubleClickListener(new IDoubleClickListener() {
-            public void doubleClick(DoubleClickEvent event) {
-                handleRemovePressed();
-            }
-        });
-		fSelectedViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateSelectedButtons();
-			}
-		});
-	}
-	
-	public void createButtons(Composite parent) {
-		Composite buttonComposite= new Composite(parent, SWT.NONE);
-		buttonComposite.setLayout(new GridLayout());
-		buttonComposite.setLayoutData(new GridData());
-		buttonComposite.setFont(parent.getFont());
-		
-		fAddButton= SWTUtil.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_2, null); 
-		fAddButton.addSelectionListener(fSelectionListener);
-		
-		fRemoveButton= SWTUtil.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_4, null); 
-		fRemoveButton.addSelectionListener(fSelectionListener);
-		
-		fMoveUpButton= SWTUtil.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_5, null); 
-		fMoveUpButton.addSelectionListener(fSelectionListener);
-		
-		fMoveDownButton= SWTUtil.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_6, null); 
-		fMoveDownButton.addSelectionListener(fSelectionListener);
-	    
-	}
-
-	/**
-	 * Returns the organizers chosen by the user. The order
-	 * of the list is the order that the organizers should be displayed
-	 * in the breakpoints view.
-	 * @return the breakpoint organizers chosen by the user
-	 */
-	public IBreakpointOrganizer[] getOrganizers() {
-		return (IBreakpointOrganizer[]) fResult.toArray(new IBreakpointOrganizer[fResult.size()]);
-	}
-	
-	/**
-	 * When the user presses OK, convert the tree selection into a list.
-	 */
-	protected void okPressed() {
-		Object[] factories= fSelectedOrganizersProvider.getElements(null);
-		while (factories.length > 0) {
-			Object factory= factories[0];
-			fResult.add(factory);
-			factories= fSelectedOrganizersProvider.getChildren(factory);
-		}
-		super.okPressed();
-	}
-	
-	/**
-	 * Moves the selected item from the list of "available" factories
-	 * to the tree of "selected" factories.
-	 */
-	public void handleAddPressed() {
-		IStructuredSelection selection= (IStructuredSelection) fAvailableViewer.getSelection();
-		if (selection.size() < 1) {
-			return;
-		}
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			fSelectedOrganizersProvider.addSelected((IBreakpointOrganizer) iter.next());
-		}
-		updateViewers();
-	}
-	
-	/**
-	 * Moves the selected item from the tree of "selected" factories
-	 * to the list of "available" factories.
-	 */
-	public void handleRemovePressed() {
-		IStructuredSelection selection= (IStructuredSelection) fSelectedViewer.getSelection();
-		if (selection.size() < 1) {
-			return;
-		}
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			fAvailableOrganizersProvider.addAvailable((IBreakpointOrganizer) iter.next());
-		}
-		updateViewers();
-	}
-	
-	/**
-	 * Moves each selected item up in the tree of selected containers
-	 */
-	public void handleMoveUpPressed() {
-		IStructuredSelection selection = (IStructuredSelection) fSelectedViewer.getSelection();
-		Iterator iter = selection.iterator();
-		while (iter.hasNext()) {
-			fSelectedOrganizersProvider.moveUp(iter.next());
-		}
-		updateViewers();
-	}
-	
-	/**
-	 * Moves each selected item down in the tree of selected containers
-	 */
-	public void handleMoveDownPressed() {
-		IStructuredSelection selection = (IStructuredSelection) fSelectedViewer.getSelection();
-		Object[] elements= selection.toArray();
-		for (int i= elements.length - 1; i >= 0; i--) {
-			fSelectedOrganizersProvider.moveDown(elements[i]);
-		}
-		updateViewers();
-	}
-	
-	/**
-	 * Fully refreshes and updates all viewers and buttons.
-	 */
-	public void updateViewers() {
-		fAvailableViewer.refresh();
-		fSelectedViewer.refresh();
-		fSelectedViewer.expandAll();
-		updateAddButton();
-		updateSelectedButtons();
-	}
-	
-	/**
-	 * Updates all buttons associated with the tree of selected containers.
-	 */
-	public void updateSelectedButtons() {
-		updateRemoveButton();
-		updateMoveUpButton();
-		updateMoveDownButton();
-	}
-	
-	public void updateAddButton() {
-		IStructuredSelection selection = (IStructuredSelection) fAvailableViewer.getSelection();
-		fAddButton.setEnabled(selection.size() > 0);
-	}
-	
-	public void updateRemoveButton() {
-		IStructuredSelection selection = (IStructuredSelection) fSelectedViewer.getSelection();
-		fRemoveButton.setEnabled(selection.size() > 0);
-	}
-	
-	public void updateMoveUpButton() {
-		boolean enabled= true;
-		IStructuredSelection selection = (IStructuredSelection) fSelectedViewer.getSelection();
-		if (selection.size() == 0) {
-			enabled= false;
-		} else {
-			Object firstSelected= selection.getFirstElement();
-			Object parent= fSelectedOrganizersProvider.getParent(firstSelected);
-			if (!(parent instanceof IBreakpointOrganizer)) {
-				enabled= false;
-			}
-		}
-		fMoveUpButton.setEnabled(enabled);
-	}
-	
-	public void updateMoveDownButton() {
-		boolean enabled= true;
-		IStructuredSelection selection = (IStructuredSelection) fSelectedViewer.getSelection();
-		if (selection.size() == 0) {
-			enabled= false;
-		} else {
-			Object lastSelected= selection.toList().get(selection.size() - 1);
-			Object[] children= fSelectedOrganizersProvider.getChildren(lastSelected);
-			if (children.length < 1) {
-				enabled= false;
-			}
-		}
-		fMoveDownButton.setEnabled(enabled);
-	}
-	
-	/**
-	 * Content provider that provides the list of breakpoint organaisers
-     * that are available but not currently selected.
-	 */
-	private class AvailableOrganizersProvider implements IStructuredContentProvider {
-		protected List availableOrganziers= new ArrayList();
-		
-		public void addAvailable(IBreakpointOrganizer organizer) {
-            availableOrganziers.add(organizer);
-			fSelectedOrganizersProvider.selectedOrganizers.remove(organizer);
-		}
-		
-		public Object[] getElements(Object inputElement) {
-			return availableOrganziers.toArray();
-		}
-		
-		public void dispose() {
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-	
-	/**
-	 * Content provider that returns the selected breakpoint organizers
-	 * as a tree. This tree shows the list of organzizers as they will
-	 * appear in the breakpoints view.
-	 */
-	private class SelectedOrganizerProvider implements ITreeContentProvider {
-		protected List selectedOrganizers= new ArrayList();
-		
-		public void addSelected(IBreakpointOrganizer organizer) {
-            selectedOrganizers.add(organizer);
-			fAvailableOrganizersProvider.availableOrganziers.remove(organizer);
-		}
-		
-		public void moveUp(Object object) {
-			int index = selectedOrganizers.indexOf(object);
-			if (index > 0) {
-                selectedOrganizers.remove(object);
-                selectedOrganizers.add(index - 1, object);
-			}
-		}
-		
-		public void moveDown(Object object) {
-			int index = selectedOrganizers.indexOf(object);
-			if (index < selectedOrganizers.size() - 1) {
-                selectedOrganizers.remove(object);
-                selectedOrganizers.add(index + 1, object);
-			}
-		}
-
-		public Object[] getChildren(Object parentElement) {
-			// A factory's "child" is the next factory in the list
-			int index = selectedOrganizers.indexOf(parentElement);
-			if (index < selectedOrganizers.size() - 1) {
-				return new Object[] { selectedOrganizers.get(index + 1) };
-			}
-			return new Object[0];
-		}
-
-		public Object getParent(Object element) {
-			// A factory's "parent" is the factory before it
-			int index = selectedOrganizers.indexOf(element);
-			if (index <= 0 || selectedOrganizers.size() <= 1) {
-				return null;
-			}
-			return selectedOrganizers.get(index - 1);
-		}
-
-		public boolean hasChildren(Object element) {
-			// A factory has "children" if there are more
-			// factories after it.
-			int index = selectedOrganizers.indexOf(element);
-			return index != -1 && index < selectedOrganizers.size() - 1;
-		}
-
-		public Object[] getElements(Object inputElement) {
-			if (selectedOrganizers.size() > 0) {
-				return new Object[] { selectedOrganizers.get(0) };
-			}
-			return new Object[0];
-		}
-		public void dispose() {
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-	
-	/**
-	 * Label provider which provides text and images for breakpoint container factories
-	 */
-	private class BreakpointOrganzierLabelProvider extends LabelProvider {
-		private HashMap fImageCache= new HashMap();
-		
-		public String getText(Object element) {
-			if (element instanceof IBreakpointOrganizer) {
-				return ((IBreakpointOrganizer) element).getLabel();
-			}
-			return super.getText(element);
-		}
-		public Image getImage(Object element) {
-			if (element instanceof IBreakpointOrganizer) {
-				ImageDescriptor imageDescriptor = ((IBreakpointOrganizer) element).getImageDescriptor();
-				if (imageDescriptor != null) {
-					Image image = (Image) fImageCache.get(imageDescriptor);
-					if (image == null) {
-						image= imageDescriptor.createImage();
-						if (image != null) {
-							fImageCache.put(imageDescriptor, image);
-						}
-					}
-					return image;
-				}
-			}
-			return super.getImage(element);
-		}
-		public void dispose() {
-			Iterator imageIter = fImageCache.values().iterator();
-			while (imageIter.hasNext()) {
-				((Image) imageIter.next()).dispose();
-			}
-			super.dispose();
-		}
-	}
-	
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        shell.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_7); 
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/PasteBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/PasteBreakpointsAction.java
deleted file mode 100644
index 4a3cade..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/PasteBreakpointsAction.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import java.util.List;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.debug.internal.ui.views.breakpoints.OtherBreakpointCategory;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
-
-/**
- * Standard action for pasting resources on the clipboard to the selected resource's location.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-public class PasteBreakpointsAction extends BreakpointSelectionAction {
-    
-    /**
-     * Creates a new action.
-     *
-     * @param view the view of this action
-     */
-    public PasteBreakpointsAction(BreakpointsView view) {
-        super(BreakpointGroupMessages.PasteBreakpointsAction_0, view); 
-        setToolTipText(BreakpointGroupMessages.PasteBreakpointsAction_1); 
-    }
-
-    /**
-     * Returns the actual target of the paste action. Returns null
-     * if no valid target is selected.
-     * 
-     * @return the actual target of the paste action
-     */
-    private Object getTarget() {
-        List selectedNonResources = getSelectedNonResources();
-        if (selectedNonResources.size() == 1) {
-            Object target = selectedNonResources.get(0);
-            if (target instanceof BreakpointContainer) {
-                return target;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Implementation of method defined on <code>IAction</code>.
-     */
-    public void run() {
-		if (getBreakpointsView().canPaste(getTarget(), LocalSelectionTransfer.getInstance().getSelection())) {
-			getBreakpointsView().performPaste(getTarget(), LocalSelectionTransfer.getInstance().getSelection());
-		}
-    }
-
-    /**
-     * Returns whether this action should be enabled based on the selection
-     * in the clipboard. Only updates when the breakpoints view has focus. 
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        // can't paste into "Others" (only move)
-        Object target = getTarget();
-        if (target instanceof BreakpointContainer) {
-            BreakpointContainer container = (BreakpointContainer) target;
-            if (container.getCategory() instanceof OtherBreakpointCategory) {
-                return false;
-            }
-			return true;
-        }
-		// don't access clipboard - causes Hang -see bug 84870
-		return false;
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java
deleted file mode 100644
index a9377fd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.debug.internal.ui.views.breakpoints.WorkingSetCategory;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Removes a breakpoint from a breakpoint working set.
- */
-public class RemoveFromWorkingSetAction extends BreakpointSelectionAction {
-        
-    /**
-     * Constructs action to remove breakpoints from a category.
-     * 
-     * @param view
-     */
-    public RemoveFromWorkingSetAction(BreakpointsView view) {
-        super(BreakpointGroupMessages.RemoveFromWorkingSetAction_0, view); 
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.IAction#run()
-     */
-    public void run() {
-        Iterator iterator = getStructuredSelection().iterator();
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-            if (object instanceof IBreakpoint) {
-                IBreakpoint breakpoint = (IBreakpoint) object;
-                BreakpointContainer[] containers = getBreakpointsView().getMovedFromContainers(breakpoint);
-                if (containers != null) {
-                    for (int i = 0; i < containers.length; i++) {
-                        BreakpointContainer container = containers[i];
-                        container.getOrganizer().removeBreakpoint(breakpoint, container.getCategory());
-                    }
-                }
-            }
-        }
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        if (selection.isEmpty() || !getBreakpointsView().isShowingGroups()) {
-            return false;
-        }
-        Iterator iterator = selection.iterator();
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-            if (object instanceof IBreakpoint) {
-                IBreakpoint breakpoint = (IBreakpoint) object;
-                BreakpointContainer[] containers = getBreakpointsView().getMovedFromContainers(breakpoint);
-                if (containers == null || containers.length == 0) {
-                    return false;
-                }
-                for (int i = 0; i < containers.length; i++) {
-                    BreakpointContainer container = containers[i];
-                    if (container.getCategory() instanceof WorkingSetCategory) {
-                        WorkingSetCategory category = (WorkingSetCategory) container.getCategory();
-                        if (!IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(category.getWorkingSet().getId())) {
-                            return false;
-                        }
-                    } else {
-                        return false;
-                    }
-                }
-            } else {
-                return false;
-            }
-        }
-        return true;
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java
deleted file mode 100644
index b6eb694..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointSetOrganizer;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-
-/**
- * Action which prompts the user to set a default breakpoint group.
- */
-public class SetDefaultBreakpointGroupAction extends AbstractBreakpointsViewAction {
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run(IAction action) {
-        IWorkingSet workingSet = BreakpointSetOrganizer.getDefaultWorkingSet();
-        IWorkingSetSelectionDialog selectionDialog = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog(DebugUIPlugin.getShell(), false, new String[]{IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET});
-        if (workingSet != null) {
-            selectionDialog.setSelection(new IWorkingSet[]{workingSet});
-        }
-        if (selectionDialog.open() == Window.OK) {
-            IWorkingSet[] sets = selectionDialog.getSelection();
-            if (sets.length == 1) {
-                BreakpointSetOrganizer.setDefaultWorkingSet(sets[0]);
-            }
-        }
-    }
-
-    /* (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) {
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ToggleDefaultGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ToggleDefaultGroupAction.java
deleted file mode 100644
index fd623b6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ToggleDefaultGroupAction.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointSetOrganizer;
-import org.eclipse.debug.internal.ui.views.breakpoints.WorkingSetCategory;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * Toggles the default breakpoint group based on selection.
- */
-public class ToggleDefaultGroupAction extends AbstractBreakpointsViewAction {
-    
-    private IWorkingSet fSelectedSet;
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run(IAction action) {
-        IWorkingSet defaultWorkingSet = BreakpointSetOrganizer.getDefaultWorkingSet();
-        IWorkingSet set = null;
-        if (!fSelectedSet.equals(defaultWorkingSet)) {
-            set = fSelectedSet;
-        }
-        BreakpointSetOrganizer.setDefaultWorkingSet(set);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-     */
-    public void selectionChanged(IAction action, ISelection sel) {
-        fSelectedSet = null;
-        if (sel instanceof IStructuredSelection) {
-            IStructuredSelection selection = (IStructuredSelection) sel;
-            if (selection.size() == 1) {
-	            Object firstElement = selection.getFirstElement();
-	            if (firstElement instanceof BreakpointContainer) {
-	                BreakpointContainer container = (BreakpointContainer) firstElement;
-	                if (container.getCategory() instanceof WorkingSetCategory) {
-	                    WorkingSetCategory category = (WorkingSetCategory)container.getCategory();
-	                    if (IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(category.getWorkingSet().getId())) {
-	                        IWorkingSet set = category.getWorkingSet();
-	                        action.setEnabled(true);
-	                        boolean isDefault = set == BreakpointSetOrganizer.getDefaultWorkingSet();
-	                        action.setChecked(isDefault);
-	                        fSelectedSet = set;
-	                        return;
-	                    }
-	                }
-	            }
-            }
-        }
-        action.setEnabled(false);
-        action.setChecked(false);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/WorkingSetsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/WorkingSetsAction.java
deleted file mode 100644
index eeb5cac..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/WorkingSetsAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpointGroups;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-
-/**
- * Allows the user to manage working sets.
- */
-public class WorkingSetsAction extends AbstractBreakpointsViewAction {
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run(IAction action) {
-        IWorkingSetSelectionDialog selectionDialog = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog(DebugUIPlugin.getShell(), false);
-        selectionDialog.open();
-    }
-
-    /* (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) {
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/AccessWatchpointToggleAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/AccessWatchpointToggleAction.java
deleted file mode 100644
index 64b98f9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/AccessWatchpointToggleAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IWatchpoint;
-
-/**
- * Toggles access attribute of a watchpoint.
- */
-public class AccessWatchpointToggleAction extends ModifyWatchpointAction {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.ModifyWatchpointAction#isEnabled(org.eclipse.debug.core.model.IWatchpoint)
-     */
-    protected boolean isEnabled(IWatchpoint watchpoint) {
-        return watchpoint.supportsAccess();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.ModifyWatchpointAction#toggleWatchpoint(org.eclipse.debug.core.model.IWatchpoint, boolean)
-     */
-    protected void toggleWatchpoint(IWatchpoint watchpoint, boolean b) throws CoreException {
-        watchpoint.setAccess(b);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.ModifyWatchpointAction#isChecked(org.eclipse.debug.core.model.IWatchpoint)
-     */
-    protected boolean isChecked(IWatchpoint watchpoint) {
-        try {
-            return watchpoint.isAccess();
-        } catch (CoreException e) {
-        }
-        return false;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsCollapseAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsCollapseAllAction.java
deleted file mode 100644
index 4d5f14f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsCollapseAllAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * 
- */
-public class BreakpointsCollapseAllAction implements IViewActionDelegate {
-	
-	private BreakpointsView fView;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fView= (BreakpointsView) view;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		fView.getCheckboxViewer().collapseAll();
-	}
-
-	/* (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) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsExpandAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsExpandAllAction.java
deleted file mode 100644
index e3c91aa..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsExpandAllAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * Action which fully expands the tree in the breakpoints view.
- */
-public class BreakpointsExpandAllAction implements IViewActionDelegate {
-	
-	private BreakpointsView fView;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fView= (BreakpointsView) view;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		fView.getCheckboxViewer().expandAll();
-	}
-
-	/* (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) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DeleteWorkingsetsMessageDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DeleteWorkingsetsMessageDialog.java
deleted file mode 100644
index 90b1748..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DeleteWorkingsetsMessageDialog.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.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;
-
-/**
- * Allows the user to specify if they want to delete the working set, all the breakpoints in the working
- * set or both
- * @since 3.2
- */
-public class DeleteWorkingsetsMessageDialog extends MessageDialog {
-
-	/**
-	 * to determine if we should delete the working set as well 
-	 */
-	private boolean fDeleteWorkingsets = false;
-	
-	/**
-	 * to determine if we should delete all the breakpoints in the set.
-	 * to maintain backward compatibility this is by default true 
-	 */
-	private boolean fDeleteBreakpoints = true;
-	
-	//widgets
-	private Button fDeleteWS;
-	private Button fDeleteBPS;
-	
-	// dialog settings
-	private final static String DIALOG_SETTINGS = "DeleteBreakpointsDialogSettings"; //$NON-NLS-1$
-	private static final String DELETE_BREAKPOINTS = "DeleteBreakpoints";	 //$NON-NLS-1$
-	private static final String DELETE_WORKINGSETS = "DeleteWorkingSets";	 //$NON-NLS-1$
-	
-	public DeleteWorkingsetsMessageDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage, int dialogImageType, String[] dialogButtonLabels, int defaultIndex) {
-		super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, dialogButtonLabels, defaultIndex);
-		IDialogSettings section = getDialogSettings();
-		fDeleteBreakpoints = section.getBoolean(DELETE_BREAKPOINTS);
-		fDeleteWorkingsets = section.getBoolean(DELETE_WORKINGSETS);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.MessageDialog#createCustomArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createCustomArea(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		comp.setLayout(new GridLayout());
-		Font font = parent.getFont();
-		fDeleteWS = new Button(comp, SWT.CHECK);
-		fDeleteWS.setText(ActionMessages.DeleteWorkingsetsMessageDialog_0);
-		fDeleteWS.setFont(font);
-		fDeleteWS.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {}
-			public void widgetSelected(SelectionEvent e) {
-				getButton(0).setEnabled(fDeleteWS.getSelection() || fDeleteBPS.getSelection());
-			}
-		});
-		
-		fDeleteBPS = new Button(comp, SWT.CHECK);
-		fDeleteBPS.setText(ActionMessages.DeleteWorkingsetsMessageDialog_1);
-		fDeleteBPS.setFont(font);
-		fDeleteBPS.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {}
-			public void widgetSelected(SelectionEvent e) {
-				getButton(0).setEnabled(fDeleteWS.getSelection() || fDeleteBPS.getSelection());
-			}
-		});
-		
-		fDeleteWS.setSelection(fDeleteWorkingsets);
-		fDeleteBPS.setSelection(fDeleteBreakpoints);
-		return comp;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.MessageDialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		if(buttonId == OK) {
-			fDeleteBreakpoints = fDeleteBPS.getSelection();
-			fDeleteWorkingsets = fDeleteWS.getSelection();
-			IDialogSettings dialogSettings = getDialogSettings();
-			dialogSettings.put(DELETE_BREAKPOINTS, fDeleteBreakpoints);
-			dialogSettings.put(DELETE_WORKINGSETS, fDeleteWorkingsets);
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	/**
-	 * return the checked value of the delete working set check box
-	 * @return the checked state of the delete working set check box
-	 */
-	public boolean deleteWorkingset() {
-		return fDeleteWorkingsets;
-	}
-	
-	/**
-	 * returns the checked state of the delete all breakpoints in working set check box 
-	 * @return the checked state of the delete all breakpoints... check box
-	 */
-	public boolean deleteAllBreakpoints() {
-		return fDeleteBreakpoints;
-	}
-
-	/**
-	 * Returns the dialog settings for this dialog.
-	 * 
-	 * @return dialog settings
-	 */
-	protected IDialogSettings getDialogSettings() {
-		DebugUIPlugin plugin = DebugUIPlugin.getDefault();
-		IDialogSettings workbenchSettings = plugin.getDialogSettings();
-		IDialogSettings section = workbenchSettings.getSection(DIALOG_SETTINGS);
-		if (section == null) {
-			section = workbenchSettings.addNewSection(DIALOG_SETTINGS);
-			section.put(DELETE_BREAKPOINTS, true);
-			section.put(DELETE_WORKINGSETS, false);
-		}
-		return section;
-	}
-	
-	
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DisableBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DisableBreakpointsAction.java
deleted file mode 100644
index 0af9112..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DisableBreakpointsAction.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-
-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/breakpoints/EnableBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/EnableBreakpointsAction.java
deleted file mode 100644
index 35cd2a1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/EnableBreakpointsAction.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-
-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.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
-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.EnableBreakpointAction_Enable_breakpoint_s__failed_2, null); 
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) {
-				while (itr.hasNext()) {
-					Object element= itr.next();
-					try {
-						IBreakpoint[] breakpoints= null;
-						if (element instanceof IBreakpoint) {
-							breakpoints= new IBreakpoint[] { (IBreakpoint) element };
-						} else if (element instanceof BreakpointContainer) {
-							breakpoints= ((BreakpointContainer) element).getBreakpoints();
-						}
-						if (breakpoints != null) {
-							setEnabled(breakpoints);
-						}
-					} catch (CoreException e) {
-						ms.merge(e.getStatus());
-					}
-				}
-			}
-			public void setEnabled(IBreakpoint[] breakpoints) throws CoreException {
-				boolean enable= isEnableAction();
-				for (int i = 0; i < breakpoints.length; i++) {
-					breakpoints[i].setEnabled(enable);
-				}
-			}
-		};
-		
-		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.EnableBreakpointAction_Enabling_breakpoints_3, ActionMessages.EnableBreakpointAction_Exceptions_occurred_enabling_the_breakpoint_s___4, ms); // 
-			} else {
-				DebugUIPlugin.log(ms);
-			}
-		}
-	}
-
-	private IStructuredSelection getSelection() {
-		return (IStructuredSelection)getView().getViewSite().getSelectionProvider().getSelection();
-	}
-
-	/* (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) {
-		setAction(action);
-		if (!(selection instanceof IStructuredSelection)) {
-			return;
-		}
-		IStructuredSelection sel= (IStructuredSelection)selection;
-		
-		Iterator itr= sel.iterator();
-		boolean allEnabled= true;
-		boolean allDisabled= true;
-		while (itr.hasNext()) {
-			Object selected= itr.next();
-			if (selected instanceof BreakpointContainer) {
-				IBreakpoint[] breakpoints = ((BreakpointContainer) selected).getBreakpoints();
-				for (int i = 0; i < breakpoints.length; i++) {
-					try {
-						if (breakpoints[i].isEnabled()) {
-							allDisabled= false;
-						} else {
-							allEnabled= false;
-						}
-					} catch (CoreException ce) {
-						handleException(ce);
-					}
-				}
-			} else if (selected instanceof IBreakpoint) {
-				IBreakpoint bp= (IBreakpoint)selected;
-				try {
-					if (bp.isEnabled()) {
-						allDisabled= false;
-					} else {
-						allEnabled= false;
-					}
-				} catch (CoreException ce) {
-					handleException(ce);
-				}
-			} else {
-				return;
-			}
-			
-		}
-			
-		if (isEnableAction()) {
-			action.setEnabled(!allEnabled);
-		} else {
-			action.setEnabled(!allDisabled);
-		}
-	}
-	
-	private void handleException(CoreException ce) {
-		IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.EnableBreakpointAction_Enabling_breakpoints_3, ActionMessages.EnableBreakpointAction_Exceptions_occurred_enabling_the_breakpoint_s___4, ce); // 
-		} else {
-			DebugUIPlugin.log(ce);
-		}
-	}
-	
-
-	/**
-	 * 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/breakpoints/LinkBreakpointsWithDebugViewAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/LinkBreakpointsWithDebugViewAction.java
deleted file mode 100644
index e7b5454..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/LinkBreakpointsWithDebugViewAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * An action which toggles the "Link with Debug View" preference on a
- * breakpoints view.
- */
-public class LinkBreakpointsWithDebugViewAction implements IViewActionDelegate {
-	
-	private BreakpointsView fView;
-	private IAction fAction= null;
-	
-	public LinkBreakpointsWithDebugViewAction() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fView= (BreakpointsView) view;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		fView.setTrackSelection(action.isChecked());
-	}
-
-	/* (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) {
-		if (fAction == null) {
-			action.setChecked(fView.isTrackingSelection());
-			fAction= action;
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModificationWatchpointToggleAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModificationWatchpointToggleAction.java
deleted file mode 100644
index 632590e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModificationWatchpointToggleAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IWatchpoint;
-
-/**
- * Toggles access attribute of a watchpoint.
- */
-public class ModificationWatchpointToggleAction extends ModifyWatchpointAction {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.ModifyWatchpointAction#isEnabled(org.eclipse.debug.core.model.IWatchpoint)
-     */
-    protected boolean isEnabled(IWatchpoint watchpoint) {
-        return watchpoint.supportsModification();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.ModifyWatchpointAction#toggleWatchpoint(org.eclipse.debug.core.model.IWatchpoint, boolean)
-     */
-    protected void toggleWatchpoint(IWatchpoint watchpoint, boolean b) throws CoreException {
-        watchpoint.setModification(b);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.ModifyWatchpointAction#isChecked(org.eclipse.debug.core.model.IWatchpoint)
-     */
-    protected boolean isChecked(IWatchpoint watchpoint) {
-        try {
-            return watchpoint.isModification();
-        } catch (CoreException e) {
-        }
-        return false;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModifyWatchpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModifyWatchpointAction.java
deleted file mode 100644
index c7ea345..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModifyWatchpointAction.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IWatchpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-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;
-
-/**
- * Action that modifies a watchpoint's access/modification attributes
- */
-public abstract class ModifyWatchpointAction implements IObjectActionDelegate, IActionDelegate2 {
-    
-    private IStructuredSelection fWatchpoints = null;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run(IAction action) {
-        try {
-	        if (fWatchpoints != null) {
-	            Iterator iterator = fWatchpoints.iterator();
-	            while (iterator.hasNext()) {
-	                IWatchpoint watchpoint = (IWatchpoint)iterator.next();
-	                toggleWatchpoint(watchpoint, action.isChecked());
-	            }
-	        }
-        } catch (CoreException e) {
-            DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.ModifyWatchpointAction_0, ActionMessages.ModifyWatchpointAction_1, e.getStatus()); // 
-        }
-
-    }
-    
-    /**
-     * Toggles the watch point attribute to the given value.
-     * 
-     * @param watchpoint
-     * @param b on or off
-     */
-    protected abstract void toggleWatchpoint(IWatchpoint watchpoint, boolean b) throws CoreException;
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-     */
-    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-    }
-
-    /* (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) {
-        if (selection instanceof IStructuredSelection) {
-            fWatchpoints = (IStructuredSelection) selection;
-            if (!selection.isEmpty()) {
-	            Iterator iterator = fWatchpoints.iterator();
-	            while (iterator.hasNext()) {
-	                Object next = iterator.next();
-	                if (next instanceof IWatchpoint) {
-	                    IWatchpoint watchpoint = (IWatchpoint) next;
-	                    action.setChecked(isChecked(watchpoint));
-	                    if (!isEnabled(watchpoint)) {
-	                        action.setEnabled(false);
-	                        return;
-	                    }
-	                }
-	            }
-	            action.setEnabled(true);
-	            return;
-            }
-        }
-        action.setEnabled(false);
-    }
-
-    /**
-     * Returns whether the action should be checke for the current selection
-     * 
-     * @param watchpoint selected watchpoint
-     * @return whether the action should be checke for the current selection
-     */
-    protected abstract boolean isChecked(IWatchpoint watchpoint);
-
-    /**
-     * Returns whether this action is enabled for the given watchpoint.
-     * 
-     * @param watchpoint
-     * @return whether this action is enabled for the given watchpoint
-     */
-    protected abstract boolean isEnabled(IWatchpoint watchpoint);
-
-    /* (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() {
-        fWatchpoints = 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/breakpoints/OpenBreakpointMarkerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/OpenBreakpointMarkerAction.java
deleted file mode 100644
index b292f4c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/OpenBreakpointMarkerAction.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-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.debug.internal.ui.actions.ActionMessages;
-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.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class OpenBreakpointMarkerAction extends SelectionProviderAction {
-
-	protected static DelegatingModelPresentation fgPresentation = new DelegatingModelPresentation();
-	private IBreakpoint breakpoint;
-	private IEditorInput input;
-	
-	public OpenBreakpointMarkerAction(ISelectionProvider selectionProvider) {
-		super(selectionProvider, ActionMessages.OpenBreakpointMarkerAction__Go_to_File_1); 
-		setToolTipText(ActionMessages.OpenBreakpointMarkerAction_Go_to_File_for_Breakpoint_2); 
-		setImageDescriptor(AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.ide", "icons/full/elcl16/gotoobj_tsk.gif")); //$NON-NLS-1$ //$NON-NLS-2$
-		setDisabledImageDescriptor(AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.ide", "icons/full/dlcl16/gotoobj_tsk.gif")); //$NON-NLS-1$ //$NON-NLS-2$
-		PlatformUI.getWorkbench().getHelpSystem().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);
-            if (editorId != null) {
-    			try {
-    				part= page.openEditor(input, editorId);
-    			} catch (PartInitException e) {
-    				DebugUIPlugin.errorDialog(dwindow.getShell(), ActionMessages.OpenBreakpointMarkerAction_Go_to_Breakpoint_1, ActionMessages.OpenBreakpointMarkerAction_Exceptions_occurred_attempting_to_open_the_editor_for_the_breakpoint_resource_2, e); // 
-    			}
-            }
-		}
-		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) {
-			Object element = sel.getFirstElement();
-			if (element instanceof IBreakpoint) {
-				breakpoint= (IBreakpoint) element;
-				input= fgPresentation.getEditorInput(breakpoint);
-				if (input != null) {
-					setEnabled(true);
-					return;
-				}
-			}
-		} else {
-			breakpoint = null;
-			input = null;
-		}
-		setEnabled(false);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllBreakpointsAction.java
deleted file mode 100644
index 2c169da..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllBreakpointsAction.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
- 
-import org.eclipse.core.resources.IMarkerDelta;
-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.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.debug.internal.ui.actions.AbstractRemoveAllActionDelegate;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-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 {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#isEnabled()
-	 */
-	protected boolean isEnabled() {
-		return DebugPlugin.getDefault().getBreakpointManager().hasBreakpoints();
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[])
-	 */
-	public void breakpointsAdded(IBreakpoint[] breakpoints) {
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsChanged(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.resources.IMarkerDelta[])
-	 */
-	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsRemoved(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.resources.IMarkerDelta[])
-	 */
-	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-		if (getAction() != null) {
-			update();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#initialize()
-	 */
-	protected void initialize() {
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
-		super.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		final IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
-		final IBreakpoint[] breakpoints= breakpointManager.getBreakpoints();
-		if (breakpoints.length < 1) {
-			return;
-		}
-		IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window == null) {
-			return;
-		}
-		boolean proceed = MessageDialog.openQuestion(window.getShell(), ActionMessages.RemoveAllBreakpointsAction_0, ActionMessages.RemoveAllBreakpointsAction_1);  
-		if (proceed) {
-            new Job(ActionMessages.RemoveAllBreakpointsAction_2) { 
-                protected IStatus run(IProgressMonitor monitor) {
-                    try {
-                        breakpointManager.removeBreakpoints(breakpoints, true);
-                    } catch (CoreException e) {
-                        DebugUIPlugin.log(e);
-                        return Status.CANCEL_STATUS;
-                    }
-                    return Status.OK_STATUS;
-                }
-            }.schedule();
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java
deleted file mode 100644
index 9ff3be7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.AbstractRemoveActionDelegate;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.debug.internal.ui.views.breakpoints.WorkingSetCategory;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-
-public class RemoveBreakpointAction extends AbstractRemoveActionDelegate {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection = getSelection();
-		if (selection.isEmpty()) {
-			return;
-		}
-		final List state = ((BreakpointsView)getView()).getSelectionState();
-		final Iterator itr= selection.iterator();
-		final CoreException[] exception= new CoreException[1];
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) {
-				ArrayList breakpointsToDelete = new ArrayList();
-				ArrayList groupsToDelete = new ArrayList();
-				boolean deleteAll = false;
-				boolean deleteContainer = false;
-				boolean prompted = false;
-				while (itr.hasNext()) {		
-					Object next= itr.next();
-					if (next instanceof IBreakpoint) {
-						breakpointsToDelete.add(next);
-					} else if (next instanceof BreakpointContainer) {
-						//the the container is a workingset, ask if they want to delete it as well
-						BreakpointContainer bpc = (BreakpointContainer) next;
-						if(bpc.getCategory() instanceof WorkingSetCategory) {
-							IWorkingSet set = ((WorkingSetCategory)bpc.getCategory()).getWorkingSet();
-							if(!prompted) {
-								prompted = true;
-								DeleteWorkingsetsMessageDialog dialog = new DeleteWorkingsetsMessageDialog(getView().getSite().getShell(),
-										ActionMessages.RemoveBreakpointAction_3,
-										null,
-										ActionMessages.RemoveBreakpointAction_4,
-										MessageDialog.QUESTION,
-										new String[] {ActionMessages.RemoveBreakpointAction_5, ActionMessages.RemoveBreakpointAction_6},
-										0);
-								if(dialog.open() == 0) {
-									deleteAll = dialog.deleteAllBreakpoints();
-									deleteContainer = dialog.deleteWorkingset();
-								}
-							}
-							if(deleteContainer) {
-								groupsToDelete.add(set);
-							}
-						}
-						else {
-							if(!prompted) {
-								prompted = true;
-								deleteAll = MessageDialog.openConfirm(getView().getSite().getShell(), ActionMessages.RemoveBreakpointAction_0, ActionMessages.RemoveBreakpointAction_1);
-							}
-						}
-						if(deleteAll) {
-						    IBreakpoint[] breakpoints = bpc.getBreakpoints();
-						    for (int i = 0; i < breakpoints.length; i++) {
-                                breakpointsToDelete.add(breakpoints[i]);
-                            }
-						}
-					}
-				}
-				final IBreakpoint[] breakpoints = (IBreakpoint[]) breakpointsToDelete.toArray(new IBreakpoint[0]);
-				final IWorkingSet[] sets = (IWorkingSet[])groupsToDelete.toArray(new IWorkingSet[groupsToDelete.size()]);
-				new Job(ActionMessages.RemoveBreakpointAction_2) { 
-                    protected IStatus run(IProgressMonitor pmonitor) {
-                        try {
-                            DebugPlugin.getDefault().getBreakpointManager().removeBreakpoints(breakpoints, true);
-                            for (int i = 0; i < sets.length; i++) {
-                            	PlatformUI.getWorkbench().getWorkingSetManager().removeWorkingSet(sets[i]);
-							}
-                            if (state != null) {
-                            	Runnable r = new Runnable() {
-									public void run() {
-										((BreakpointsView) getView()).preserveSelectionState(state);
-									}
-								};
-								DebugUIPlugin.getStandardDisplay().asyncExec(r);
-                            }
-                            return Status.OK_STATUS;
-                        } catch (CoreException e) {
-                            DebugUIPlugin.log(e);
-                        }
-                        return Status.CANCEL_STATUS;
-                    }   
-                }.schedule();
-			}
-		};
-		try {
-			ResourcesPlugin.getWorkspace().run(runnable, null, 0, null);
-		} catch (CoreException ce) {
-			exception[0]= ce;
-		}
-		if (exception[0] != null) {
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.RemoveBreakpointAction_Removing_a_breakpoint_4,ActionMessages.RemoveBreakpointAction_Exceptions_occurred_attempting_to_remove_a_breakpoint__5 , exception[0]);  
-			} else {
-				DebugUIPlugin.log(exception[0]);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.AbstractSelectionActionDelegate#isEnabledFor(java.lang.Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		if (element instanceof BreakpointContainer) {
-			if(((BreakpointContainer)element).getCategory() instanceof WorkingSetCategory) {
-				return true;
-			}
-			return ((BreakpointContainer)element).getChildren().length > 0;
-		}
-		return super.isEnabledFor(element);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetBreakpointAction.java
deleted file mode 100644
index ff7c2b5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetBreakpointAction.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.debug.internal.ui.actions.RetargetAction;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-
-
-/**
- * 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/breakpoints/RetargetMethodBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetMethodBreakpointAction.java
deleted file mode 100644
index 331d0b6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetMethodBreakpointAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-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/breakpoints/RetargetToggleLineBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleLineBreakpointAction.java
deleted file mode 100644
index ba78a26..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleLineBreakpointAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-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/breakpoints/RetargetWatchpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetWatchpointAction.java
deleted file mode 100644
index e0a585d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetWatchpointAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-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/breakpoints/RulerEnableDisableBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RulerEnableDisableBreakpointAction.java
deleted file mode 100644
index ff37aa4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RulerEnableDisableBreakpointAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.ui.actions.RulerBreakpointAction;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * @since 3.2
- *
- */
-public class RulerEnableDisableBreakpointAction extends RulerBreakpointAction implements IUpdate {
-	
-	private IBreakpoint fBreakpoint;
-	
-	public RulerEnableDisableBreakpointAction(ITextEditor editor, IVerticalRulerInfo info) {
-		super(editor, info);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		if (fBreakpoint != null) {
-			try {
-				fBreakpoint.setEnabled(!fBreakpoint.isEnabled());
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(getEditor().getSite().getShell(), ActionMessages.RulerEnableDisableBreakpointAction_0, ActionMessages.RulerEnableDisableBreakpointAction_1, e.getStatus());
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		fBreakpoint = getBreakpoint();
-		setEnabled(fBreakpoint != null);
-		if (fBreakpoint != null) {
-			try {
-				if (fBreakpoint.isEnabled()) {
-					setText(ActionMessages.RulerEnableDisableBreakpointAction_2);
-				} else {
-					setText(ActionMessages.RulerEnableDisableBreakpointAction_3);
-				}
-			} catch (CoreException e) {
-			}
-		} else {
-			setText(ActionMessages.RulerEnableDisableBreakpointAction_2);
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SelectAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SelectAllBreakpointsAction.java
deleted file mode 100644
index 5f1e29f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SelectAllBreakpointsAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-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.internal.ui.actions.SelectAllAction;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-
-public class SelectAllBreakpointsAction extends SelectAllAction implements IBreakpointsListener {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#isEnabled()
-	 */
-	protected boolean isEnabled() {
-		return DebugPlugin.getDefault().getBreakpointManager().hasBreakpoints();
-	}
-
-	public void run(IAction action) {
-		if (!(getView() instanceof BreakpointsView)) {
-			return;
-		}
-		CheckboxTreeViewer viewer = ((BreakpointsView) getView()).getCheckboxViewer();
-		viewer.getTree().selectAll();
-		// ensure that the selection change callback is fired
-		viewer.setSelection(viewer.getSelection());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[])
-	 */
-	public void breakpointsAdded(IBreakpoint[] breakpoints) {
-		if (getAction() != null && !getAction().isEnabled()) {
-			update();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsChanged(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.resources.IMarkerDelta[])
-	 */
-	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsRemoved(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.resources.IMarkerDelta[])
-	 */
-	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-		if (getAction() != null) {
-			update();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#initialize()
-	 */
-	protected void initialize() {
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#dispose()
-	 */
-	public void dispose() {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
-		super.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.SelectAllAction#getActionId()
-	 */
-	protected String getActionId() {
-		return IDebugView.SELECT_ALL_ACTION;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java
deleted file mode 100644
index 280986f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-
-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.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.ToggleFilterAction;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
-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.PlatformUI;
-
-/**
- * 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 BreakpointsView 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) {
-			if (element instanceof BreakpointContainer) {
-				// Breakpoint containers are visible if any of their children are visible.
-				IBreakpoint[] breakpoints = ((BreakpointContainer) element).getBreakpoints();
-				for (int i = 0; i < breakpoints.length; i++) {
-					if (select(viewer, element, breakpoints[i])) {
-						return true;
-					}
-				}
-				return false;
-			}
-			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.ShowSupportedBreakpointsAction_Show_For_Selected); 
-		setToolTipText(ActionMessages.ShowSupportedBreakpointsAction_tooltip); 
-		setViewerFilter(new BreakpointFilter());
-		setViewer(viewer);
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET));
-		setChecked(false);
-		setId(DebugUIPlugin.getUniqueIdentifier() + ".ShowSupportedBreakpointsAction"); //$NON-NLS-1$
-		
-		setView(view);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(
-			this,
-			IDebugHelpContextIds.SHOW_BREAKPOINTS_FOR_MODEL_ACTION);
-		
-	}
-
-	
-		
-	public void dispose() {
-		if (isChecked()) {
-			getView().getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		}
-	}
-	
-	/**
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss= (IStructuredSelection)selection;
-			List debugTargets= getDebugTargets(ss);
-			if (!isChecked()) {
-				fDebugTargets= debugTargets;
-				return;
-			}
-			if (debugTargets.isEmpty()) {
-				 if(fDebugTargets.isEmpty()) {
-					return;
-				 } 
-				 reapplyFilters(debugTargets);
-				 return;
-			}
-			if (fDebugTargets.isEmpty()) {
-				reapplyFilters(debugTargets);
-				return;
-			}
-			
-			if (debugTargets.size() == fDebugTargets.size()) {
-				List copy= new ArrayList(debugTargets.size());
-				Iterator iter= fDebugTargets.iterator();
-				while (iter.hasNext()) {
-					IDebugTarget target = (IDebugTarget) iter.next();
-					Iterator newDebugTargets= debugTargets.iterator();
-					while (newDebugTargets.hasNext()) {
-						IDebugTarget newTarget= (IDebugTarget)newDebugTargets.next();
-						copy.add(newTarget);
-						if (target.equals(newTarget)) {
-							newDebugTargets.remove();
-						}
-					}
-				}
-				//check for real change
-				if (debugTargets.isEmpty()) {
-					return;
-				}
-				reapplyFilters(copy);
-			} 
-		}
-	}
-
-	
-	/**
-	 * Selection has changed in the debug view
-	 * need to reapply the filters.
-	 */
-	protected void reapplyFilters(List debugTargets) {
-		fDebugTargets= debugTargets;		
-		getViewer().refresh();
-	}
-	
-	protected IViewPart getView() {
-		return fView;
-	}
-
-	protected void setView(IViewPart view) {
-		fView = (BreakpointsView) 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);
-		fView.getViewer().refresh();
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SkipAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SkipAllBreakpointsAction.java
deleted file mode 100644
index 364ecdb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SkipAllBreakpointsAction.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-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.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * 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.SkipAllBreakpointsAction_0); 
-		setToolTipText(ActionMessages.SkipAllBreakpointsAction_0); 
-		setDescription(ActionMessages.SkipAllBreakpointsAction_2); 
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_SKIP_BREAKPOINTS));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.SKIP_ALL_BREAKPOINT_ACTION);
-		updateActionCheckedState();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run(){
-		final IBreakpointManager manager = getBreakpointManager();
-        IRunnableWithProgress runnable = new IRunnableWithProgress() {
-            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-                if(!monitor.isCanceled()) {
-                    manager.setEnabled(!manager.isEnabled());
-                } 
-            }
-        };
-        
-        try {
-            DebugUIPlugin.getDefault().getWorkbench().getProgressService().busyCursorWhile(runnable);
-        } catch (InvocationTargetException e) {
-        } catch (InterruptedException e) {
-        }
-	}
-	
-	/**
-	 * 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/breakpoints/ToggleBreakpointObjectActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ToggleBreakpointObjectActionDelegate.java
deleted file mode 100644
index 4dca93d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ToggleBreakpointObjectActionDelegate.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.breakpoints;
-
-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 fPart;
-	private IStructuredSelection fSelection;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		fPart = targetPart;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IAdaptable adaptable = (IAdaptable) fSelection.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, fPart, fSelection);
-			} 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.fSelection = 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() {
-		fSelection = null;
-		fPart = 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/context/AbstractDebugContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractDebugContextAction.java
deleted file mode 100644
index 942f8ec..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractDebugContextAction.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-import java.util.Iterator;
-
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextManager;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-public abstract class AbstractDebugContextAction extends Action implements IDebugContextListener {
-
-    private IStructuredSelection fActiveContext;
-
-    private IWorkbenchWindow fWindow;
-
-    private AbstractDebugContextActionDelegate fDelegate;
-
-    public AbstractDebugContextAction() {
-        super();
-        String helpContextId = getHelpContextId();
-        if (helpContextId != null)
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(this, helpContextId);
-        setEnabled(false);
-    }
-   
-    public void setDelegate(AbstractDebugContextActionDelegate delegate) {
-        fDelegate = delegate;
-    }
-
-    protected abstract void doAction(Object target);
-
-    public AbstractDebugContextAction(String text) {
-        super(text);
-    }
-
-    public AbstractDebugContextAction(String text, ImageDescriptor image) {
-        super(text, image);
-    }
-
-    public AbstractDebugContextAction(String text, int style) {
-        super(text, style);
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextActivated(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-     */
-    public void contextActivated(ISelection context, IWorkbenchPart part) {
-        fActiveContext = null;
-        update(context);
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-     */
-    public void contextChanged(ISelection context, IWorkbenchPart part) {
-        contextActivated(context, part);
-    }
-
-    protected void update(ISelection context) {
-        if (context instanceof IStructuredSelection) {
-            IStructuredSelection ss = (IStructuredSelection) context;
-            updateEnableStateForContext(ss);
-            fActiveContext = (IStructuredSelection) context;
-        } else {
-            setEnabled(false);
-            fActiveContext = StructuredSelection.EMPTY;
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#setEnabled(boolean)
-     */
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        if (fDelegate != null) {
-            fDelegate.setEnabled(enabled);
-        }
-    }
-
-    /**
-     * Return whether the action should be enabled or not based on the given
-     * selection.
-     */
-    protected void updateEnableStateForContext(IStructuredSelection selection) {
-        int size = selection.size();
-        BooleanRequestMonitor monitor = new BooleanRequestMonitor(this, size);
-        if (size > 0) {
-	        Iterator itr = selection.iterator();
-	        while (itr.hasNext()) {
-	            Object element = itr.next();
-	            isEnabledFor(element, monitor);
-	        }
-        } else {
-        	notSupported(monitor);
-        }
-    }
-
-    protected abstract void isEnabledFor(Object element, IBooleanRequestMonitor monitor);
-    
-    /**
-     * Updates the monitor with a false result. Action should call this method when
-     * updating enablement and the function is not supported.
-     * 
-     * @param monitor
-     */
-    protected void notSupported(IBooleanRequestMonitor monitor) {
-    	monitor.setResult(false);
-    	monitor.done();
-    }
-
-    public void init(IWorkbenchWindow window) {
-        setWindow(window);
-        IDebugContextManager manager = DebugContextManager.getDefault();
-        manager.addDebugContextListener(this, window);
-        ISelection activeContext = manager.getActiveContext(window);
-        if (activeContext != null) {
-            contextActivated(activeContext, null);
-        } else {
-        	setEnabled(getInitialEnablement());
-        }
-    }
-    
-    /**
-     * Returns whether this action should be enabled when initialized
-     * and there is no active debug context.
-     * 
-     * @return false, by default
-     */
-    protected boolean getInitialEnablement() {
-    	return false;
-    }
-
-    protected void setWindow(IWorkbenchWindow window) {
-        fWindow = window;
-    }
-
-    /**
-     * Returns the most recent selection
-     * 
-     * @return structured selection
-     */
-    protected IStructuredSelection getContext() {
-        return fActiveContext;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#run()
-     */
-    public void run() {
-        IStructuredSelection selection = getContext();
-        if (selection != null && isEnabled()) {
-            // disable the action so it cannot be run again until an event or
-            // selection change updates the enablement
-            setEnabled(false);
-            for (Iterator iter = selection.iterator(); iter.hasNext();) {
-                Object element = iter.next();
-                doAction(element);
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#runWithEvent(org.eclipse.swt.widgets.Event)
-     */
-    public void runWithEvent(Event event) {
-        run();
-    }
-
-    public void dispose() {
-        IWorkbenchWindow window = getWindow();
-        if (getWindow() != null) {
-            DebugContextManager.getDefault().removeDebugContextListener(this, window);
-        }
-    }
-
-    protected IWorkbenchWindow getWindow() {
-        return fWindow;
-    }
-
-    /**
-     * 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$
-    }
-
-    public abstract String getHelpContextId();
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#getId()
-     */
-    public abstract String getId();
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#getText()
-     */
-    public abstract String getText();
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#getToolTipText()
-     */
-    public abstract String getToolTipText();
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#getDisabledImageDescriptor()
-     */
-    public abstract ImageDescriptor getDisabledImageDescriptor();
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#getHoverImageDescriptor()
-     */
-    public abstract ImageDescriptor getHoverImageDescriptor();
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#getImageDescriptor()
-     */
-    public abstract ImageDescriptor getImageDescriptor();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractDebugContextActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractDebugContextActionDelegate.java
deleted file mode 100644
index dc672b4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractDebugContextActionDelegate.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-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;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-public abstract class AbstractDebugContextActionDelegate implements IWorkbenchWindowActionDelegate, IActionDelegate2 {
-
-	/**
-     *The real action for this delegate 
-	 */
-	private AbstractDebugContextAction fDebugAction;
-    
-    /**
-     * The underlying action for this delegate
-     */
-    private IAction fWindowAction;
-    
-    /**
-     * Whether this action has been initialized before it has been run
-     * (ensures enablement state is up to date when lazily instantiated)
-     */
-    private boolean fInitialized = false;
-
-	public AbstractDebugContextActionDelegate() {
-	}
-
-	/*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-        fDebugAction.dispose();
-
-	}
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-     */
-    public void init(IAction action) {
-        fWindowAction = action;
-    }
-    
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-     */
-    public void init(IWorkbenchWindow window) {
-        setWindow(window);
-        fDebugAction.init(window);
-	}
-    
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-	public synchronized void run(IAction action) {
-		if (!fInitialized) {
-			try {
-				wait();
-			} catch (InterruptedException e) {
-			}
-		}
-        fDebugAction.run();
-	}
-
-    
-    /*
-     * (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#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-     */
-    public void selectionChanged(IAction action, ISelection s) {
-		// do nothing
-	}
-
-	protected AbstractDebugContextAction getAction() {
-		return fDebugAction;
-	}
-    
-    protected void setAction(AbstractDebugContextAction action) {
-        fDebugAction = action;
-        action.setDelegate(this);
-    }
-
-	protected IWorkbenchWindow getWindow() {
-        return fDebugAction.getWindow();
-	}
-
-	protected void setWindow(IWorkbenchWindow window) {
-		fDebugAction.setWindow(window);
-	}
-
-    public synchronized void setEnabled(boolean enabled) {
-    	if (!fInitialized) {
-    		fInitialized = true;
-    		notifyAll();
-    	}
-        fWindowAction.setEnabled(enabled);
-    }
-    
-    protected IAction getWindowAction()
-    {
-    	return fWindowAction;
-    }
-    
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractRequestMonitor.java
deleted file mode 100644
index bd8b396..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/AbstractRequestMonitor.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-/**
- * Common function for request montiors
- * 
- * @since 3.2
- *
- */
-public abstract class AbstractRequestMonitor implements IAsynchronousRequestMonitor {
-	
-	private IStatus fStatus;
-	private boolean fCancelled = false;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor#setStatus(org.eclipse.core.runtime.IStatus)
-	 */
-	public void setStatus(IStatus status) {
-		fStatus = status;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#beginTask(java.lang.String, int)
-	 */
-	public void beginTask(String name, int totalWork) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#internalWorked(double)
-	 */
-	public void internalWorked(double work) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#isCanceled()
-	 */
-	public boolean isCanceled() {
-		return fCancelled;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#setCanceled(boolean)
-	 */
-	public void setCanceled(boolean value) {
-		fCancelled = value;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#setTaskName(java.lang.String)
-	 */
-	public void setTaskName(String name) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#subTask(java.lang.String)
-	 */
-	public void subTask(String name) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#worked(int)
-	 */
-	public void worked(int work) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor#getStatus()
-	 */
-	public IStatus getStatus() {
-		return fStatus;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ActionAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ActionAdapterFactory.java
deleted file mode 100644
index 46a3549..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ActionAdapterFactory.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IDropToFrame;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStep;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.core.model.ITerminate;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousDisconnectAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousDropToFrameAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepFiltersAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousSuspendResumeAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousTerminateAdapter;
-
-/**
- * Adapter factory for debug capabilities.
- * 
- * @since 3.2
- *
- */
-public class ActionAdapterFactory implements IAdapterFactory {
-	
-	private static IAsynchronousDisconnectAdapter fgDisconnectAdapter = new DisconnectAdapter();
-	private static IAsynchronousDropToFrameAdapter fgDropToFrameAdapter = new DropToFrameAdapter();
-	private static IAsynchronousStepAdapter fgStepAdapter = new StepAdapter();
-	private static IAsynchronousStepFiltersAdapter fgStepFiltersAdapter = new StepFiltersAdapter();
-	private static IAsynchronousSuspendResumeAdapter fgSuspendResumeAdapter = new SuspendResumeAdapter();
-	private static IAsynchronousTerminateAdapter fgTerminateAdapter = new TerminateAdapter();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (IAsynchronousDisconnectAdapter.class.equals(adapterType)) {
-			if (adaptableObject instanceof IDisconnect) {
-				return fgDisconnectAdapter;
-			}
-		}
-		if (IAsynchronousDropToFrameAdapter.class.equals(adapterType)) {
-			if (adaptableObject instanceof IDropToFrame) {
-				return fgDropToFrameAdapter;
-			}
-		}
-		if (IAsynchronousStepAdapter.class.equals(adapterType)) {
-			if (adaptableObject instanceof IStep) {
-				return fgStepAdapter;
-			}
-		}		
-		if (IAsynchronousStepFiltersAdapter.class.equals(adapterType)) {
-			if (adaptableObject instanceof IDebugElement ||
-				adaptableObject instanceof ILaunch || 
-				adaptableObject instanceof IProcess) {
-				return fgStepFiltersAdapter;
-			}
-		}
-		if (IAsynchronousSuspendResumeAdapter.class.equals(adapterType)) {
-			if (adaptableObject instanceof ISuspendResume) {
-				return fgSuspendResumeAdapter;
-			}
-		}	
-		if (IAsynchronousTerminateAdapter.class.equals(adapterType)) {
-			if (adaptableObject instanceof ITerminate) {
-				return fgTerminateAdapter;
-			}
-		}			
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[]{IAsynchronousDisconnectAdapter.class,
-				IAsynchronousDropToFrameAdapter.class,
-				IAsynchronousStepAdapter.class,
-				IAsynchronousStepFiltersAdapter.class,
-				IAsynchronousSuspendResumeAdapter.class,
-				IAsynchronousTerminateAdapter.class};
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ActionRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ActionRequestMonitor.java
deleted file mode 100644
index 78bd8bf..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ActionRequestMonitor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-/**
- * Plain request monitor for actions. Has no result.
- * 
- * @since 3.2
- *
- */
-public class ActionRequestMonitor extends AbstractRequestMonitor {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#done()
-	 */
-	public void done() {
-		// nothing to do
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/BooleanRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/BooleanRequestMonitor.java
deleted file mode 100644
index 4823ed5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/BooleanRequestMonitor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.action.IAction;
-
-/**
- * Boolean request monitor that collects boolean results from a number of voters.
- * Request is cancelled when one voter votes false.
- * 
- * @since 3.2
- *
- */
-public class BooleanRequestMonitor extends AbstractRequestMonitor implements IBooleanRequestMonitor {
-	
-	private IAction fAction;
-	private int fNumVoters;
-	private int fNumOfVotes = 0;
-	
-	BooleanRequestMonitor(IAction action, int numVoters) {
-		fAction = action;
-		fNumVoters = numVoters;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor#setResult(boolean)
-	 */
-	public void setResult(boolean result) {
-		fNumOfVotes++;
-		if (!isCanceled()) {
-			if (!result) {
-				setCanceled(true);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#done()
-	 */
-	public void done() {
-		if (isCanceled()) {
-			fAction.setEnabled(false);
-		} else {
-			fAction.setEnabled(fNumOfVotes == fNumVoters);
-		} 
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectAction.java
deleted file mode 100644
index 29b7174..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectAction.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousDisconnectAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class DisconnectAction extends AbstractDebugContextAction {
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#doAction(java.lang.Object)
-     */
-    protected void doAction(Object element) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousDisconnectAdapter disconnect = (IAsynchronousDisconnectAdapter) adaptable.getAdapter(IAsynchronousDisconnectAdapter.class);
-            if (disconnect != null) 
-                disconnect.disconnect(element, new ActionRequestMonitor());
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#isEnabledFor(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-     */
-    protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousDisconnectAdapter disconnect = (IAsynchronousDisconnectAdapter) adaptable.getAdapter(IAsynchronousDisconnectAdapter.class);
-            if (disconnect != null) {
-            	disconnect.canDisconnect(element, monitor);
-            } else { 
-            	notSupported(monitor);
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getStatusMessage()
-     */
-    protected String getStatusMessage() {
-        return ActionMessages.DisconnectActionDelegate_Exceptions_occurred_attempting_to_disconnect__2;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getErrorDialogMessage()
-     */
-    protected String getErrorDialogMessage() {
-        return ActionMessages.DisconnectActionDelegate_Disconnect_failed_1;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getText()
-     */
-    public String getText() {
-        return ActionMessages.DisconnectAction_0;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getHelpContextId()
-     */
-    public String getHelpContextId() {
-        return "disconnect_action_context"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getId()
-     */
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.toolbar.disconnect"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getToolTipText()
-     */
-    public String getToolTipText() {
-        return ActionMessages.DisconnectAction_3;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getDisabledImageDescriptor()
-     */
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DISCONNECT);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getHoverImageDescriptor()
-     */
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DISCONNECT);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getImageDescriptor()
-     */
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DISCONNECT);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectActionDelegate.java
deleted file mode 100644
index 088d9dd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectActionDelegate.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-public class DisconnectActionDelegate extends AbstractDebugContextActionDelegate {
-    public DisconnectActionDelegate() {
-        super();
-        setAction(new DisconnectAction());
-    }    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectAdapter.java
deleted file mode 100644
index 5ea371e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DisconnectAdapter.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-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.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousDisconnectAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Default disconnect adapter for standard debug model.
- * 
- * @since 3.2
- */
-public class DisconnectAdapter extends StandardActionAdapter implements IAsynchronousDisconnectAdapter {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousDisconnectAdapter#canDisconnect(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void canDisconnect(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("canDisconnect") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IDisconnect disconnect = getTarget(element);
-				if (disconnect != null)
-					requestMonitor.setResult(disconnect.canDisconnect());
-				else
-					requestMonitor.setResult(false);
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousDisconnectAdapter#isDisconnected(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void isDisconnected(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("isDisconnected") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IDisconnect disconnect = getTarget(element);
-				if (disconnect != null) {
-					requestMonitor.setResult(disconnect.isDisconnected());
-				} else {
-					requestMonitor.setResult(false);
-				}
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousDisconnectAdapter#disconnect(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor)
-	 */
-	public void disconnect(final Object element, final IAsynchronousRequestMonitor requestMonitor) {
-		Job job = new Job("isDisconnected") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IDisconnect disconnect = getTarget(element);
-
-				if (disconnect == null) {
-					requestMonitor.setStatus(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "element must be an instance of or adapt to IDisconnect", //$NON-NLS-1$
-							null));
-				} else {
-					try {
-						disconnect.disconnect();
-					} catch (DebugException e) {
-						requestMonitor.setStatus(e.getStatus());
-					}
-				}
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	private IDisconnect getTarget(Object element) {
-		if (element instanceof IDisconnect) {
-			return (IDisconnect) element;
-		} else if (element instanceof IAdaptable) {
-			return (IDisconnect) ((IAdaptable) element).getAdapter(IDisconnect.class);
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameAction.java
deleted file mode 100644
index 62ec99a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameAction.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousDropToFrameAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Action delegate which performs a drop to frame.
- */
-public class DropToFrameAction extends AbstractDebugContextAction {
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#doAction(java.lang.Object)
-     */
-    protected void doAction(Object element) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousDropToFrameAdapter dropper = (IAsynchronousDropToFrameAdapter) adaptable.getAdapter(IAsynchronousDropToFrameAdapter.class);
-            if (dropper != null) 
-                dropper.dropToFrame(element, new ActionRequestMonitor());
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#isEnabledFor(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-     */
-    protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousDropToFrameAdapter dropper = (IAsynchronousDropToFrameAdapter) adaptable.getAdapter(IAsynchronousDropToFrameAdapter.class);
-            if (dropper != null) {
-                dropper.canDropToFrame(element, monitor);
-            } else {
-            	notSupported(monitor);
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getText()
-     */
-    public String getText() {
-        return ActionMessages.DropToFrameAction_0;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getHelpContextId()
-     */
-    public String getHelpContextId() {
-        return "drop_to_frame_action_context"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getId()
-     */
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.toolbar.dropToFrame"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getToolTipText()
-     */
-    public String getToolTipText() {
-        return ActionMessages.DropToFrameAction_3;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getHoverImageDescriptor()
-     */
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DROP_TO_FRAME);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getImageDescriptor()
-     */
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DROP_TO_FRAME);
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getDisabledImageDescriptor()
-	 */
-	public ImageDescriptor getDisabledImageDescriptor() {
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameActionDelegate.java
deleted file mode 100644
index 974fbf9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameActionDelegate.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-public class DropToFrameActionDelegate extends AbstractDebugContextActionDelegate {
-    public DropToFrameActionDelegate() {
-        super();
-        setAction(new DropToFrameAction());
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameAdapter.java
deleted file mode 100644
index 69fdded..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/DropToFrameAdapter.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-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.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDropToFrame;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousDropToFrameAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class DropToFrameAdapter extends StandardActionAdapter implements IAsynchronousDropToFrameAdapter {
-
-	public void canDropToFrame(final Object element, final IBooleanRequestMonitor monitor) {
-		Job job = new Job("canDropToFrame") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor pm) {
-				if (!pm.isCanceled()) {
-					IDropToFrame dropToFrame = getTarget(element);
-					if (dropToFrame != null) {
-						monitor.setResult(dropToFrame.canDropToFrame());
-					} else {
-						monitor.setResult(false);
-					}
-					monitor.done();
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	public void dropToFrame(final Object element, final IAsynchronousRequestMonitor monitor) {
-		Job job = new Job("dropToFrame") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor pm) {
-				if (!pm.isCanceled()) {
-					IDropToFrame dropToFrame = getTarget(element);
-					if (dropToFrame != null) {
-						try {
-							dropToFrame.dropToFrame();
-						} catch (DebugException e) {
-							monitor.setStatus(e.getStatus());
-						}
-					} else {
-						monitor.setStatus(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "element must be an instance of or adapt to IDropToFrame", //$NON-NLS-1$
-								null));
-					}
-					monitor.done();
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	private IDropToFrame getTarget(Object element) {
-		if (element instanceof IDropToFrame) {
-			return (IDropToFrame) element;
-		} else if (element instanceof IAdaptable) {
-			return (IDropToFrame) ((IAdaptable) element).getAdapter(IDropToFrame.class);
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ResumeAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ResumeAction.java
deleted file mode 100644
index 57dfd6d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ResumeAction.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousSuspendResumeAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class ResumeAction extends AbstractDebugContextAction {
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#doAction(java.lang.Object)
-     */
-    protected void doAction(Object element) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousSuspendResumeAdapter suspendResumer = (IAsynchronousSuspendResumeAdapter) adaptable.getAdapter(IAsynchronousSuspendResumeAdapter.class);
-            if (suspendResumer != null) 
-                suspendResumer.resume(element, new ActionRequestMonitor());
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#isEnabledFor(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-     */
-    protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousSuspendResumeAdapter suspendResumer = (IAsynchronousSuspendResumeAdapter) adaptable.getAdapter(IAsynchronousSuspendResumeAdapter.class);
-            if (suspendResumer != null) {
-                suspendResumer.canResume(element, monitor); 
-            } else {
-            	notSupported(monitor);
-            }
-        }        
-    }
-
-
-    /**
-     * Resumes all threads in the target associated with the given element
-     * 
-     * @param object
-     *            debug element
-     * @throws DebugException
-     *             on failure
-     */
-    protected void doActionForAllThreads(Object object) throws DebugException {
-        if (isEnabledForAllThreads(object)) {
-            IDebugElement debugElement = (IDebugElement) object;
-            IThread[] threads = debugElement.getDebugTarget().getThreads();
-            for (int i = 0; i < threads.length; i++) {
-                IThread thread = threads[i];
-                if (thread.canResume()) {
-                    thread.resume();
-                }
-            }
-        }
-    }
-
-    /**
-     * Returns whether 'resume all threads' should be enabled for the given
-     * element.
-     */
-    protected boolean isEnabledForAllThreads(Object element) {
-        if (element instanceof IDebugElement) {
-            IDebugElement debugElement = (IDebugElement) element;
-            try {
-                IThread[] threads = debugElement.getDebugTarget().getThreads();
-                for (int i = 0; i < threads.length; i++) {
-                    if (threads[i].canResume()) {
-                        return true;
-                    }
-                }
-            } catch (DebugException e) {
-            }
-        }
-        return false;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getStatusMessage()
-     */
-    protected String getStatusMessage() {
-        return ActionMessages.ResumeActionDelegate_Exceptions_occurred_attempting_to_resume__2;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getErrorDialogMessage()
-     */
-    protected String getErrorDialogMessage() {
-        return ActionMessages.ResumeActionDelegate_Resume_failed__1;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getText()
-     */
-    public String getText() {
-        return ActionMessages.ResumeAction_0;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getHelpContextId()
-     */
-    public String getHelpContextId() {
-        return "resume_action_context"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getId()
-     */
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.toolbar.resume"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getToolTipText()
-     */
-    public String getToolTipText() {
-        return ActionMessages.ResumeAction_3;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getDisabledImageDescriptor()
-     */
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_RESUME);
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getHoverImageDescriptor()
-     */
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_RESUME);
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getImageDescriptor()
-     */
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_RESUME);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ResumeActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ResumeActionDelegate.java
deleted file mode 100644
index 447ede4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ResumeActionDelegate.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-public class ResumeActionDelegate extends AbstractDebugContextActionDelegate {
-    public ResumeActionDelegate() {
-        super();
-        setAction(new ResumeAction());
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StandardActionAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StandardActionAdapter.java
deleted file mode 100644
index 19dc6d5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StandardActionAdapter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousSchedulingRuleFactory;
-
-/**
- * Common function for standard debug action adapter implemetnations.
- * 
- * @since 3.2
- *
- */
-public class StandardActionAdapter {
-
-	/**
-	 * Scheduling rule for updating action enablement.
-	 * 
-	 * @return scheduling rule or <code>null</code>
-	 */
-	protected ISchedulingRule createUpdateSchedulingRule() {
-		return AsynchronousSchedulingRuleFactory.getDefault().newSerialRule();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepAction.java
deleted file mode 100644
index fe8d52f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Pawel Piech - bug 134177
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-
-public abstract class StepAction extends AbstractDebugContextAction {
-	
-	/*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#doAction(java.lang.Object)
-	 */
-	protected void doAction(Object object) {
-		stepAction(object);
-	}
-
-	/*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#isEnabledFor(java.lang.Object)
-	 */
-	protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-	    checkCapability(element, monitor);
-	}
-
-
-    protected abstract void checkCapability(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Performs the specific step action.
-	 *
-	 * @exception DebugException if the action fails
-	 */
-	protected abstract void stepAction(Object element);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepAdapter.java
deleted file mode 100644
index 2c049c2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepAdapter.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-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.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IStep;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Default step adapter for standard debug model.
- * 
- * @since 3.2
- */
-public class StepAdapter extends StandardActionAdapter implements IAsynchronousStepAdapter {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter#canStepInto(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void canStepInto(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("canStepInto") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IStep step = getTarget(element);
-				if (step != null)
-					requestMonitor.setResult(step.canStepInto());
-				else
-					requestMonitor.setResult(false);
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter#canStepOver(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void canStepOver(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("canStepOver") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IStep step = getTarget(element);
-				if (step != null)
-					requestMonitor.setResult(step.canStepOver());
-				else
-					requestMonitor.setResult(false);
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter#canStepReturn(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void canStepReturn(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("canStepReturn") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IStep step = getTarget(element);
-				if (step != null)
-					requestMonitor.setResult(step.canStepReturn());
-				else
-					requestMonitor.setResult(false);
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());		
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter#isStepping(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void isStepping(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("isStepping") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IStep step = getTarget(element);
-				if (step != null)
-					requestMonitor.setResult(step.isStepping());
-				else
-					requestMonitor.setResult(false);
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter#stepInto(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor)
-	 */
-	public void stepInto(final Object element, final IAsynchronousRequestMonitor requestMonitor) {
-		Job job = new Job("stepInto") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IStep step = getTarget(element);
-				if (step != null) {
-					try {
-						step.stepInto();
-					} catch (DebugException e) {
-						requestMonitor.setStatus(e.getStatus());
-					}
-				} else {
-					requestMonitor.setStatus(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "element must be an instance of or adapt to IStep", //$NON-NLS-1$
-							null));
-				}
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter#stepOver(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor)
-	 */
-	public void stepOver(final Object element, final IAsynchronousRequestMonitor requestMonitor) {
-		Job job = new Job("stepOver") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IStep step = getTarget(element);
-				if (step != null) {
-					try {
-						step.stepOver();
-					} catch (DebugException e) {
-						requestMonitor.setStatus(e.getStatus());
-					}
-				} else {
-					requestMonitor.setStatus(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "element must be an instance of or adapt to IStep", //$NON-NLS-1$
-							null));
-				}
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter#stepReturn(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor)
-	 */
-	public void stepReturn(final Object element, final IAsynchronousRequestMonitor requestMonitor) {
-		Job job = new Job("stepReturn") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IStep step = getTarget(element);
-				if (step != null) {
-					try {
-						step.stepReturn();
-					} catch (DebugException e) {
-						requestMonitor.setStatus(e.getStatus());
-					}
-				} else {
-					requestMonitor.setStatus(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "element must be an instance of or adapt to IStep", //$NON-NLS-1$
-							null));
-				}
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-
-	}
-	
-	private IStep getTarget(Object element) {
-		if (element instanceof IStep) {
-			return (IStep) element;
-		} else if (element instanceof IAdaptable) {
-			return (IStep) ((IAdaptable) element).getAdapter(IStep.class);
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepFiltersAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepFiltersAdapter.java
deleted file mode 100644
index 9012ab0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepFiltersAdapter.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-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.core.runtime.jobs.Job;
-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.IProcess;
-import org.eclipse.debug.core.model.IStepFilters;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepFiltersAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-/**
- * Default step filters adapter for standard debug model.
- * 
- * @since 3.2
- */
-public class StepFiltersAdapter extends StandardActionAdapter implements IAsynchronousStepFiltersAdapter {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepFiltersAdapter#supportsStepFilters(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void supportsStepFilters(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("supportsStepFilters") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				boolean supported = false;
-				IDebugTarget[] debugTargets = getDebugTargets(element);
-				for (int i=0; i<debugTargets.length; i++)
-				{
-					IStepFilters filters = getTarget(debugTargets[i]);
-					
-					if (filters != null)
-					{
-						if (filters.supportsStepFilters())
-							supported = true;
-					}
-					
-					// only one needs to support it
-					if (supported)
-						break;
-						
-				}
-				
-				requestMonitor.setResult(supported);
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepFiltersAdapter#isStepFiltersEnabled(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void isStepFiltersEnabled(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("isStepFiltersEnabled") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				IDebugTarget[] debugTargets = getDebugTargets(element);
-				
-				for (int i=0; i<debugTargets.length; i++)
-				{
-					IStepFilters filters = getTarget(element);
-					
-					if (filters != null)
-						requestMonitor.setResult(filters.isStepFiltersEnabled());
-					else
-					{
-						requestMonitor.setResult(false);
-					}
-				}
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepFiltersAdapter#setStepFiltersEnabled(java.lang.Object, boolean, org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor)
-	 */
-	public void setStepFiltersEnabled(final Object element, final boolean enabled, final IAsynchronousRequestMonitor requestMonitor) {
-		Job job = new Job("setStepFiltersEnabled") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				
-				IDebugTarget[] debugTargets = getDebugTargets(element);
-				for (int i=0; i<debugTargets.length; i++)
-				{
-					IStepFilters filters = getTarget(debugTargets[i]);
-					
-					if (filters != null && filters.isStepFiltersEnabled() != enabled)
-						filters.setStepFiltersEnabled(enabled);
-	
-				}
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-	
-	private IStepFilters getTarget(Object element)
-	{
-		 if (element instanceof IStepFilters) {
-			return (IStepFilters) element;
-		} else if (element instanceof IAdaptable) {
-			return (IStepFilters) ((IAdaptable)element).getAdapter(IStepFilters.class);
-		}
-        return null;
-	}
-	
-    private IDebugTarget[] getDebugTargets(Object element) {
-        if (element instanceof IDebugElement) {
-            IDebugElement debugElement = (IDebugElement) element;
-            return new IDebugTarget[] {debugElement.getDebugTarget()};
-        } else if (element instanceof ILaunch) {
-            ILaunch launch = (ILaunch) element;
-            return launch.getDebugTargets();
-        } else if (element instanceof IProcess) {
-            IProcess process = (IProcess) element;
-            return process.getLaunch().getDebugTargets();
-        } else {
-            return new IDebugTarget[0];
-        }
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepIntoAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepIntoAction.java
deleted file mode 100644
index bf40f15..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepIntoAction.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Pawel Piech - bug 134177
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class StepIntoAction extends StepAction {
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepAction#checkCapability(org.eclipse.debug.core.model.IStep, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-     */
-	protected void checkCapability(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousStepAdapter steppy = (IAsynchronousStepAdapter) adaptable.getAdapter(IAsynchronousStepAdapter.class);
-            if (steppy != null) {
-                steppy.canStepInto(element, monitor);
-            } else {
-            	notSupported(monitor);
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepAction#stepAction(org.eclipse.debug.core.model.IStep)
-     */
-	protected void stepAction(Object element) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousStepAdapter steppy = (IAsynchronousStepAdapter) adaptable.getAdapter(IAsynchronousStepAdapter.class);
-            if (steppy != null) 
-                steppy.stepInto(element, new ActionRequestMonitor());
-        }
-	}
-
-	/*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.StepIntoActionDelegate_Exceptions_occurred_attempting_to_step_into_the_frame_2;
-	}
-
-	/*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.StepIntoActionDelegate_Step_into_failed_1; 
-	}
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getText()
-     */
-    public String getText() {
-        return ActionMessages.StepIntoAction_0;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getHelpContextId()
-     */
-    public String getHelpContextId() {
-        return "step_into_action_context"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getId()
-     */
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.toolbar.stepInto"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getToolTipText()
-     */
-    public String getToolTipText() {
-        return ActionMessages.StepIntoAction_3;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getDisabledImageDescriptor()
-     */
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_STEP_INTO);
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getHoverImageDescriptor()
-     */
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_STEP_INTO);
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getImageDescriptor()
-     */
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_STEP_INTO);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepIntoActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepIntoActionDelegate.java
deleted file mode 100644
index 95c2717..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepIntoActionDelegate.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-public class StepIntoActionDelegate extends AbstractDebugContextActionDelegate {
-
-    public StepIntoActionDelegate() {
-        super();
-        setAction(new StepIntoAction());
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepOverAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepOverAction.java
deleted file mode 100644
index e16e175..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepOverAction.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Pawel Piech - bug 134177
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class StepOverAction extends StepIntoAction {
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#getText()
-     */
-    public String getText() {
-        return ActionMessages.StepOverAction_0;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#getDisabledImageDescriptor()
-     */
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_STEP_OVER);
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#getHelpContextId()
-     */
-    public String getHelpContextId() {
-        return "step_over_action_context"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#getHoverImageDescriptor()
-     */
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_STEP_OVER);
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#getId()
-     */
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.toolbar.stepOver"; //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#getImageDescriptor()
-     */
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_STEP_OVER);
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#getToolTipText()
-     */
-    public String getToolTipText() {
-        return ActionMessages.StepOverAction_3;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#checkCapability(org.eclipse.debug.core.model.IStep, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-     */
-    protected void checkCapability(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousStepAdapter steppy = (IAsynchronousStepAdapter) adaptable.getAdapter(IAsynchronousStepAdapter.class);
-            if (steppy != null) {
-                steppy.canStepOver(element, monitor);
-            } else {
-            	notSupported(monitor);
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#stepAction(org.eclipse.debug.core.model.IStep)
-     */
-    protected void stepAction(Object element) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousStepAdapter steppy = (IAsynchronousStepAdapter) adaptable.getAdapter(IAsynchronousStepAdapter.class);
-            if (steppy != null) 
-                steppy.stepOver(element, new ActionRequestMonitor());
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#getStatusMessage()
-     */
-    protected String getStatusMessage() {
-        return ActionMessages.StepOverActionDelegate_Exceptions_occurred_attempting_to_step_over_the_frame_2;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.StepIntoAction#getErrorDialogMessage()
-     */
-    protected String getErrorDialogMessage() {
-        return ActionMessages.StepOverActionDelegate_Step_over_failed_1;
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepOverActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepOverActionDelegate.java
deleted file mode 100644
index e32fba3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepOverActionDelegate.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-public class StepOverActionDelegate extends AbstractDebugContextActionDelegate {
-    public StepOverActionDelegate() {
-        super();
-        setAction(new StepOverAction());
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepReturnAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepReturnAction.java
deleted file mode 100644
index 7e3f40a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepReturnAction.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Pawel Piech - bug 134177
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class StepReturnAction extends StepIntoAction {
-    
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_STEP_RETURN);
-    }
-
-    public String getHelpContextId() {
-        return "step_return_action_context"; //$NON-NLS-1$
-    }
-
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_STEP_RETURN);
-    }
-
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.toolbar.stepReturn"; //$NON-NLS-1$
-    }
-
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_STEP_RETURN);
-    }
-
-    public String getToolTipText() {
-        return ActionMessages.StepReturnAction_2;
-    }
-
-    public String getText() {
-        return ActionMessages.StepReturnAction_3;
-    }
-
-    
-    protected void checkCapability(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousStepAdapter steppy = (IAsynchronousStepAdapter) adaptable.getAdapter(IAsynchronousStepAdapter.class);
-            if (steppy != null) {
-                steppy.canStepReturn(element, monitor);
-            } else {
-            	notSupported(monitor);
-            }
-        }
-    }
-
-    protected void stepAction(Object element) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousStepAdapter steppy = (IAsynchronousStepAdapter) adaptable.getAdapter(IAsynchronousStepAdapter.class);
-            if (steppy != null) 
-                steppy.stepReturn(element, new ActionRequestMonitor());
-        }
-    }
-
-    protected String getStatusMessage() {
-        return ActionMessages.StepReturnActionDelegate_Exceptions_occurred_attempting_to_run_to_return_of_the_frame__2;
-    }
-
-    protected String getErrorDialogMessage() {
-        return ActionMessages.StepReturnActionDelegate_Run_to_return_failed__1;
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepReturnActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepReturnActionDelegate.java
deleted file mode 100644
index 8fb6175..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/StepReturnActionDelegate.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-public class StepReturnActionDelegate extends AbstractDebugContextActionDelegate {
-
-    public StepReturnActionDelegate() {
-        super();
-        setAction(new StepReturnAction());
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendAction.java
deleted file mode 100644
index cf21c6d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousSuspendResumeAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class SuspendAction extends AbstractDebugContextAction {
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#doAction(java.lang.Object)
-     */
-    protected void doAction(Object element) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousSuspendResumeAdapter suspendResumer = (IAsynchronousSuspendResumeAdapter) adaptable.getAdapter(IAsynchronousSuspendResumeAdapter.class);
-            if (suspendResumer != null) 
-                suspendResumer.suspend(element, new ActionRequestMonitor());
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#isEnabledFor(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-     */
-    protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            IAsynchronousSuspendResumeAdapter suspendResumer = (IAsynchronousSuspendResumeAdapter) adaptable.getAdapter(IAsynchronousSuspendResumeAdapter.class);
-            if (suspendResumer != null) {
-                suspendResumer.canSuspend(element, monitor);
-            } else {
-            	notSupported(monitor);
-            }
-        }
-        
-    }
-
-
-    protected String getStatusMessage() {
-        return ActionMessages.SuspendActionDelegate_Exceptions_occurred_attempting_to_suspend__2;
-    }
-
-    protected String getErrorDialogMessage() {
-        return ActionMessages.SuspendActionDelegate_Suspend_failed_1;
-    }
-
-    public String getText() {
-        return ActionMessages.SuspendAction_0;
-    }
-
-    public String getHelpContextId() {
-        return "suspend_action_context"; //$NON-NLS-1$
-    }
-
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.toolbar.suspend"; //$NON-NLS-1$
-    }
-
-    public String getToolTipText() {
-        return ActionMessages.SuspendAction_3;
-    }
-
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_SUSPEND);
-    }
-
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_SUSPEND);
-    }
-
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_SUSPEND);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendActionDelegate.java
deleted file mode 100644
index 6d194cb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendActionDelegate.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-public class SuspendActionDelegate extends AbstractDebugContextActionDelegate {
-
-    public SuspendActionDelegate() {
-        super();
-        setAction(new SuspendAction());
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendResumeAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendResumeAdapter.java
deleted file mode 100644
index 97a1244..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/SuspendResumeAdapter.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-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.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousSuspendResumeAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class SuspendResumeAdapter extends StandardActionAdapter implements IAsynchronousSuspendResumeAdapter {
-
-	public void canResume(final Object element, final IBooleanRequestMonitor monitor) {
-		Job job = new Job("canResume") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor pm) {
-				if (!pm.isCanceled()) {
-					ISuspendResume suspendResume = getTarget(element);
-					if (suspendResume != null)
-						monitor.setResult(suspendResume.canResume());
-					else
-						monitor.setResult(false);
-					monitor.done();
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	public void canSuspend(final Object element, final IBooleanRequestMonitor monitor) {
-		Job job = new Job("canSuspend") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor pm) {
-				if (!pm.isCanceled()) {
-					ISuspendResume suspendResume = getTarget(element);
-					if (suspendResume != null)
-						monitor.setResult(suspendResume.canSuspend());
-					else
-						monitor.setResult(false);
-					monitor.done();
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	public void isSuspended(final Object element, final IBooleanRequestMonitor monitor) {
-		Job job = new Job("isSuspended") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor pm) {
-				if (!pm.isCanceled()) {
-					ISuspendResume suspendResume = getTarget(element);
-					if (suspendResume != null)
-						monitor.setResult(suspendResume.isSuspended());
-					else
-						monitor.setResult(false);
-					monitor.done();
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	public void resume(final Object element, final IAsynchronousRequestMonitor monitor) {
-		Job job = new Job("resume") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor pm) {
-				if (!pm.isCanceled()) {
-					ISuspendResume suspendResume = getTarget(element);
-					if (suspendResume != null) {
-						try {
-							suspendResume.resume();
-						} catch (DebugException e) {
-							monitor.setStatus(e.getStatus());
-						}
-					} else {
-						monitor.setStatus(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "element must be an instance of or adapt to ISuspendResume", //$NON-NLS-1$
-								null));
-					}
-					monitor.done();
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	public void suspend(final Object element, final IAsynchronousRequestMonitor monitor) {
-		Job job = new Job("suspend") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor pm) {
-				if (!pm.isCanceled()) {
-					ISuspendResume suspendResume = getTarget(element);
-					if (suspendResume != null) {
-						try {
-							suspendResume.suspend();
-						} catch (DebugException e) {
-							monitor.setStatus(e.getStatus());
-						}
-					} else {
-						monitor.setStatus(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "element must be an instance of or adapt to ISuspendResume", //$NON-NLS-1$
-								null));
-					}
-					monitor.done();
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	private ISuspendResume getTarget(Object element) {
-		if (element instanceof ISuspendResume) {
-			return (ISuspendResume) element;
-		} else if (element instanceof IAdaptable) {
-			return (ISuspendResume) ((IAdaptable) element).getAdapter(ISuspendResume.class);
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAction.java
deleted file mode 100644
index 359fbf3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousTerminateAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class TerminateAction extends AbstractDebugContextAction {
-
-    protected void doAction(final Object element) {
-        if (element instanceof IAdaptable) {
-            IAsynchronousTerminateAdapter adapter = (IAsynchronousTerminateAdapter) ((IAdaptable)element).getAdapter(IAsynchronousTerminateAdapter.class);
-            if (adapter != null)
-                adapter.terminate(element, new ActionRequestMonitor());
-        }
-    }
-
-
-
-    protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAsynchronousTerminateAdapter adapter = (IAsynchronousTerminateAdapter) ((IAdaptable)element).getAdapter(IAsynchronousTerminateAdapter.class);
-            if (adapter != null) {
-                adapter.canTerminate(element, monitor);
-            } else {
-            	notSupported(monitor);
-            }
-        }
-    }
-
-    protected String getStatusMessage() {
-        return ActionMessages.TerminateActionDelegate_Exceptions_occurred_attempting_to_terminate__2;
-    }
-
-    protected String getErrorDialogMessage() {
-        return ActionMessages.TerminateActionDelegate_Terminate_failed__1;
-    }
-
-    public String getText() {
-        return ActionMessages.TerminateAction_0;
-    }
-
-    public String getHelpContextId() {
-        return "terminate_action_context"; //$NON-NLS-1$
-    }
-
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.toolbar.terminate"; //$NON-NLS-1$
-    }
-
-    public String getToolTipText() {
-        return ActionMessages.TerminateAction_3;
-    }
-
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TERMINATE);
-    }
-
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_TERMINATE);
-    }
-
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_TERMINATE);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateActionDelegate.java
deleted file mode 100644
index b077b59..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateActionDelegate.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-public class TerminateActionDelegate extends AbstractDebugContextActionDelegate {
-
-    public TerminateActionDelegate() {
-        super();
-        setAction(new TerminateAction());
-    }
-
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAdapter.java
deleted file mode 100644
index cae76e7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAdapter.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-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.core.runtime.jobs.Job;
-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.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.ITerminate;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousTerminateAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Default terminate adapter for standard debug model.
- * 
- * @since 3.2
- */
-public class TerminateAdapter extends StandardActionAdapter implements IAsynchronousTerminateAdapter {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousTerminateAdapter#canTerminate(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void canTerminate(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("canTerminate") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				ITerminate terminate = getTarget(element);
-				if (terminate != null)
-					requestMonitor.setResult(terminate.canTerminate());
-				else
-					requestMonitor.setResult(false);
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousTerminateAdapter#isTerminated(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-	 */
-	public void isTerminated(final Object element, final IBooleanRequestMonitor requestMonitor) {
-		Job job = new Job("isTerminated") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				ITerminate terminate = getTarget(element);
-				if (terminate != null)
-					requestMonitor.setResult(terminate.isTerminated());
-				else
-					requestMonitor.setResult(false);
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule());
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousTerminateAdapter#terminate(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor)
-	 */
-	public void terminate(final Object element, final IAsynchronousRequestMonitor requestMonitor) {
-		Job job = new Job("terminate") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				ITerminate terminate = getTarget(element);
-				if (terminate != null) {
-					try {
-						if (element instanceof IProcess) {
-							killTargets((IProcess) element);
-						}
-						((ITerminate) element).terminate();
-					} catch (DebugException e) {
-						requestMonitor.setStatus(e.getStatus());
-					}
-				} else {
-					requestMonitor.setStatus(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "element must be an instance of or adapt to ITerminate", //$NON-NLS-1$
-							null));
-				}
-				requestMonitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	private void killTargets(IProcess process) throws DebugException {
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunch[] launches = launchManager.getLaunches();
-
-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
-			IProcess[] processes = launch.getProcesses();
-			for (int j = 0; j < processes.length; j++) {
-				IProcess process2 = processes[j];
-				if (process2.equals(process)) {
-					IDebugTarget[] debugTargets = launch.getDebugTargets();
-					for (int k = 0; k < debugTargets.length; k++) {
-						IDebugTarget target = debugTargets[k];
-						if (target.canTerminate()) {
-							target.terminate();
-						}
-					}
-					return; // all possible targets have been terminated for the
-					// launch.
-				}
-			}
-		}
-	}
-
-	private ITerminate getTarget(Object element) {
-		if (element instanceof ITerminate) {
-			return (ITerminate) element;
-		} else if (element instanceof IAdaptable) {
-			return (ITerminate) ((IAdaptable) element).getAdapter(ITerminate.class);
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAllAction.java
deleted file mode 100644
index 7a8fce8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAllAction.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
- 
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousTerminateAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-/**
- * Terminates all launches.
- */
-public class TerminateAllAction extends AbstractDebugContextAction {
-	
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#doAction(java.lang.Object)
-     */
-    protected void doAction(Object element) {
-        if (element instanceof ILaunch) {
-            ILaunch launch = (ILaunch) element;
-            if (!launch.isTerminated() && DebugPlugin.getDefault().getLaunchManager().isRegistered(launch)) {
-                IAsynchronousTerminateAdapter killer = (IAsynchronousTerminateAdapter) launch.getAdapter(IAsynchronousTerminateAdapter.class);
-                if (killer != null) 
-                    killer.terminate(element, new ActionRequestMonitor());
-            }
-        }
-    }
-	
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#isEnabledFor(java.lang.Object, org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor)
-     */
-	protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-        
-        //not really async here because we don't need to ask the target if the launch has terminated...
-        // will this ever be called??? update is overridden in this class...
-        
-        if (element instanceof ILaunch) {
-            ILaunch launch = (ILaunch) element;
-            if (!launch.isTerminated() && DebugPlugin.getDefault().getLaunchManager().isRegistered(launch)) {
-                monitor.setResult(true);
-            } else {
-            	monitor.setResult(false);
-            }
-        }
-        monitor.done();
-    }
-
-
-    /**
-	 * Update the action enablement based on the launches present in
-	 * the launch manager. selection is unused and can be <code>null</code>.
-	 * @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 selection) {
-		ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();
-		ILaunch[] launches= lManager.getLaunches();
-		for (int i= 0; i< launches.length; i++) {
-			ILaunch launch= launches[i];
-			if (!launch.isTerminated()) {
-				action.setEnabled(true);
-				return;
-			}
-		}
-		action.setEnabled(false);
-	}
-
-	protected IStructuredSelection getContext() {
-		return new StructuredSelection(DebugPlugin.getDefault().getLaunchManager().getLaunches());
-	}
-
-    public String getHelpContextId() {
-        return "terminate_all_action_context"; //$NON-NLS-1$
-    }
-
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.popupMenu.terminateAll"; //$NON-NLS-1$
-    }
-
-    public String getText() {
-        return ActionMessages.TerminateAllAction_2;
-    }
-
-    public String getToolTipText() {
-        return ActionMessages.TerminateAllAction_3;
-    }
-
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TERMINATE_ALL);
-    }
-
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TERMINATE_ALL);
-    }
-
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TERMINATE_ALL);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRelaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRelaunchAction.java
deleted file mode 100644
index 9736150..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRelaunchAction.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.ITerminate;
-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.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.RelaunchActionDelegate;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousTerminateAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Action which terminates a launch and then relaunches it. This is equivalent
- * to the Terminate action followed by Relaunch, but is provided to the user as
- * a convenience.
- */
-public class TerminateAndRelaunchAction extends AbstractDebugContextAction {
-
-    protected void doAction(Object element) {
-        final ILaunch launch = RelaunchActionDelegate.getLaunch(element);
-        if (launch == null || !(element instanceof ITerminate)) {
-            // Shouldn't happen because of enablement check.
-            return;
-        }
-        
-        if (element instanceof IAdaptable) {
-            IAsynchronousTerminateAdapter adapter = (IAsynchronousTerminateAdapter) ((IAdaptable)element).getAdapter(IAsynchronousTerminateAdapter.class);
-            if (adapter != null)
-                adapter.terminate(element, new ActionRequestMonitor());
-        }
-
-
-        DebugUIPlugin.getStandardDisplay().asyncExec(new Runnable() {
-            public void run() {
-                // Must be run in the UI thread since the launch can require
-                // prompting to proceed
-                RelaunchActionDelegate.relaunch(launch.getLaunchConfiguration(), launch.getLaunchMode());
-            }
-        });
-    }
-
-
-    protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAsynchronousTerminateAdapter adapter = (IAsynchronousTerminateAdapter) ((IAdaptable)element).getAdapter(IAsynchronousTerminateAdapter.class);
-            if (adapter != null) {
-                adapter.canTerminate(element, monitor);
-            } else {
-            	notSupported(monitor);
-            }
-        }
-        
-    }
-
-
-    public String getActionDefinitionId() {
-        return ActionMessages.TerminateAndRelaunchAction_0;
-    }
-
-    public String getHelpContextId() {
-        return "terminate_and_relaunch_action_context"; //$NON-NLS-1$
-    }
-
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.popupMenu.TerminateAndRelaunch"; //$NON-NLS-1$
-    }
-
-    public String getText() {
-        return ActionMessages.TerminateAndRelaunchAction_3;
-    }
-
-    public String getToolTipText() {
-        return ActionMessages.TerminateAndRelaunchAction_4;
-    }
-
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TERMINATE_AND_RELAUNCH);
-    }
-
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TERMINATE_AND_RELAUNCH);
-    }
-
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TERMINATE_AND_RELAUNCH);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRemoveAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRemoveAction.java
deleted file mode 100644
index 25ee979..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRemoveAction.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-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.IProcess;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousTerminateAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class TerminateAndRemoveAction extends AbstractDebugContextAction {
-
-    
-    class TerminateAndRemoveMonitor extends ActionRequestMonitor {
-        private Object fElement;
-        TerminateAndRemoveMonitor(Object element) {
-            fElement = element;
-        }
-        public void done() {
-            if(getStatus() == null) {
-                ILaunch launch= null;
-                
-                if (fElement instanceof ILaunch) {
-                    launch= (ILaunch) fElement;
-                } else if (fElement instanceof IDebugElement) {
-                    launch= ((IDebugElement) fElement).getLaunch();
-                } else if (fElement instanceof IProcess) {
-                    launch= ((IProcess) fElement).getLaunch();
-                }   
-                if (launch != null)
-                    DebugPlugin.getDefault().getLaunchManager().removeLaunch(launch);
-            }
-            super.done();
-        }
-        
-    }
-    protected void doAction(Object element) {
-        if (element instanceof IAdaptable) {
-            IAsynchronousTerminateAdapter adapter = (IAsynchronousTerminateAdapter) ((IAdaptable)element).getAdapter(IAsynchronousTerminateAdapter.class);
-            if (adapter != null) 
-                adapter.terminate(element, new TerminateAndRemoveMonitor(element));
-        }
-    }
-
-    
-    protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-        if (element instanceof IAdaptable) {
-            IAsynchronousTerminateAdapter adapter = (IAsynchronousTerminateAdapter) ((IAdaptable)element).getAdapter(IAsynchronousTerminateAdapter.class);
-            if (adapter != null) {
-                adapter.canTerminate(element, monitor);
-            } else {
-            	notSupported(monitor);
-            }
-        }
-    
-    }
-
-    protected String getStatusMessage() {
-        return ActionMessages.TerminateAndRemoveActionDelegate_Exceptions_occurred_attempting_to_terminate_and_remove_2;
-    }
-
-    protected String getErrorDialogMessage() {
-        return ActionMessages.TerminateAndRemoveActionDelegate_Terminate_and_remove_failed_1;
-    }
-
-    public String getText() {
-        return ActionMessages.TerminateAndRemoveAction_0;
-    }
-
-    public String getHelpContextId() {
-        return "terminate_and_remove_action_context"; //$NON-NLS-1$
-    }
-
-    public String getId() {
-        return "org.eclipse.debug.ui.debugview.popupMenu.terminateAndRemove"; //$NON-NLS-1$
-    }
-
-    public String getToolTipText() {
-        return ActionMessages.TerminateAndRemoveAction_3;
-    }
-
-    public ImageDescriptor getDisabledImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TERMINATE_AND_REMOVE);
-    }
-
-    public ImageDescriptor getHoverImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TERMINATE_AND_REMOVE);
-    }
-
-    public ImageDescriptor getImageDescriptor() {
-        return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TERMINATE_AND_REMOVE);
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRemoveActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRemoveActionDelegate.java
deleted file mode 100644
index 99509b9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/TerminateAndRemoveActionDelegate.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions.context;
-
-public class TerminateAndRemoveActionDelegate extends AbstractDebugContextActionDelegate {
-
-    public TerminateAndRemoveActionDelegate() {
-        super();
-        setAction(new TerminateAndRemoveAction());
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ToggleStepFiltersAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ToggleStepFiltersAction.java
deleted file mode 100644
index ba9eeb3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ToggleStepFiltersAction.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepFiltersAdapter;
-import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class ToggleStepFiltersAction extends AbstractDebugContextAction {
-
-	public ToggleStepFiltersAction()
-	{
-		super();
-		setEnabled(true);
-	}
-	
-	protected void doAction(Object target) {
-		// do nothing, the action is done by ToggleStepFiltersActionDelegate instead
-		// since this action does not have access to the checked state of the window button
-	}
-
-	public ImageDescriptor getDisabledImageDescriptor() {
-		return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TOGGLE_STEP_FILTERS);
-	}
-
-	public String getHelpContextId() {
-		return "step_with_filters_action_context"; //$NON-NLS-1$
-	}
-
-	public ImageDescriptor getHoverImageDescriptor() {
-		return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TOGGLE_STEP_FILTERS);
-	}
-
-	public String getId() {
-		return "org.eclipse.debug.ui.actions.ToggleStepFilters"; //$NON-NLS-1$
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TOGGLE_STEP_FILTERS);
-	}
-
-	public String getText() {
-		// TODO:  this #getText method is not currently used, putting non-nl string
-		// until properties files are opened to be updated again.
-		return "Toggle Step Filters"; //$NON-NLS-1$
-	}
-
-	public String getToolTipText() {
-		// TODO:  this #getToolTipText method is not currently used, putting non-nl string
-		// until properties files are opened to be updated again.		
-		return "Toggle Step Filters"; //$NON-NLS-1$
-	}
-
-	protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) {
-    	if (element instanceof IAdaptable)
-    	{
-    		IAsynchronousStepFiltersAdapter stepFilters = (IAsynchronousStepFiltersAdapter)((IAdaptable)element).getAdapter(IAsynchronousStepFiltersAdapter.class);
-    		if (stepFilters != null)
-    		{
-    			stepFilters.supportsStepFilters(element, monitor);
-    		}
-    		else
-    		{
-    			notSupported(monitor);
-    		}
-    	}
-
-	}
-
-	protected void updateEnableStateForContext(IStructuredSelection selection) {
-		
-	   int size = selection.size();
-       if (size == 1)
-       {
-    	   BooleanRequestMonitor monitor = new BooleanRequestMonitor(this, size);
-	
-	        Iterator itr = selection.iterator();
-	        while (itr.hasNext()) {
-	            Object element = itr.next();
-	            isEnabledFor(element, monitor);
-	        }
-        }
-        else
-        {
-        	BooleanRequestMonitor monitor = new BooleanRequestMonitor(this, 1);
-        	monitor.setResult(true);
-        	monitor.done();
-        }
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction#getInitialEnablement()
-	 */
-	protected boolean getInitialEnablement() {
-		return true;
-	}
-	
-	
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ToggleStepFiltersActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ToggleStepFiltersActionDelegate.java
deleted file mode 100644
index c96a22c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/context/ToggleStepFiltersActionDelegate.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.context;
-
-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.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * Turns step filters on/off for a selected target.
- */
-public class ToggleStepFiltersActionDelegate extends AbstractDebugContextActionDelegate implements IPropertyChangeListener, IViewActionDelegate {
-
-	public ToggleStepFiltersActionDelegate()
-	{
-		setAction(new ToggleStepFiltersAction());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		super.init(action);
-        getWindowAction().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.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		//TODO: revert once API freeze is over
-		if (event.getProperty().equals(IInternalDebugUIConstants.PREF_USE_STEP_FILTERS/*IDebugUIConstants.PREF_USE_STEP_FILTERS*/)) {
-			Object newValue= event.getNewValue();
-			if (newValue instanceof Boolean) {
-				getWindowAction().setChecked(((Boolean)(newValue)).booleanValue());
-			} else if (newValue instanceof String) {
-				getWindowAction().setChecked(Boolean.valueOf((String)newValue).booleanValue());
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void 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());
-	}
-
-
-	public void init(IViewPart view) {
-		init(view.getSite().getWorkbenchWindow());
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/AddWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/AddWatchExpressionAction.java
deleted file mode 100644
index a2d8ba7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/AddWatchExpressionAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-
-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/expressions/ConvertToWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ConvertToWatchExpressionAction.java
deleted file mode 100644
index bfa6c94..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ConvertToWatchExpressionAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-
-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/expressions/DisableWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/DisableWatchExpressionAction.java
deleted file mode 100644
index 0f0a291..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/DisableWatchExpressionAction.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-
-/**
- * 
- */
-public class DisableWatchExpressionAction extends EnableWatchExpressionAction {
-	
-	public DisableWatchExpressionAction() {
-		fEnable= false;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressionAction.java
deleted file mode 100644
index 715c6db..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressionAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-
-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/expressions/EnableWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EnableWatchExpressionAction.java
deleted file mode 100644
index d71ea69..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EnableWatchExpressionAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-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/expressions/ReevaluateWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ReevaluateWatchExpressionAction.java
deleted file mode 100644
index 3f2ac4a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ReevaluateWatchExpressionAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-
-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/expressions/RemoveAllExpressionsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveAllExpressionsAction.java
deleted file mode 100644
index 505a2ec..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveAllExpressionsAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
- 
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.AbstractRemoveAllActionDelegate;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * Removes all expressions from the expressions view.
- */
-public class RemoveAllExpressionsAction extends AbstractRemoveAllActionDelegate implements IExpressionsListener {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			boolean proceed = MessageDialog.openQuestion(window.getShell(), ActionMessages.RemoveAllExpressionsAction_0, ActionMessages.RemoveAllExpressionsAction_1);  
-			if (proceed) {
-				IExpressionManager manager = DebugPlugin.getDefault().getExpressionManager();
-				IExpression[] expressions= manager.getExpressions();
-				manager.removeExpressions(expressions);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#isEnabled()
-	 */
-	protected boolean isEnabled() {
-		return DebugPlugin.getDefault().getExpressionManager().hasExpressions();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#initialize()
-	 */
-	protected void initialize() {
-		DebugPlugin.getDefault().getExpressionManager().addExpressionListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#dispose()
-	 */
-	public void dispose() {
-		DebugPlugin.getDefault().getExpressionManager().removeExpressionListener(this);
-		super.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsAdded(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void expressionsAdded(IExpression[] expressions) {
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsRemoved(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void expressionsRemoved(IExpression[] expressions) {
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsChanged(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void expressionsChanged(IExpression[] expressions) {}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java
deleted file mode 100644
index 603f5a6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.internal.ui.actions.AbstractRemoveActionDelegate;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-public class RemoveExpressionAction extends AbstractRemoveActionDelegate {
-	
-	protected IExpression[] getExpressions() {
-		TreeSelection selection = (TreeSelection) getSelection();
-		TreePath[] paths = selection.getPaths();
-		List expressions = new ArrayList();
-		for (int i = paths.length-1; i >=0; i--) {
-			TreePath path = paths[i];
-			Object segment = path.getSegment(1);
-			if (segment instanceof IExpression) {
-				expressions.add(segment);
-			}
-		}
-		return (IExpression[]) expressions.toArray(new IExpression[expressions.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		WorkbenchJob job = new WorkbenchJob("remove expression") { //$NON-NLS-1$
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				IExpressionManager expManager = DebugPlugin.getDefault().getExpressionManager();
-				IExpression[] exp = getExpressions();
-				if (exp != null) {
-					expManager.removeExpressions(exp);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		schedule(job);
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/SelectAllExpressionsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/SelectAllExpressionsAction.java
deleted file mode 100644
index 2e9da1b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/SelectAllExpressionsAction.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.internal.ui.actions.SelectAllAction;
-import org.eclipse.debug.ui.IDebugView;
-
-public class SelectAllExpressionsAction extends SelectAllAction implements IExpressionsListener {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#isEnabled()
-	 */
-	protected boolean isEnabled() {
-		return DebugPlugin.getDefault().getExpressionManager().hasExpressions();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.SelectAllAction#getActionId()
-	 */
-	protected String getActionId() {
-		return IDebugView.SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.AbstractRemoveAllActionDelegate#initialize()
-	 */
-	protected void initialize() {
-		DebugPlugin.getDefault().getExpressionManager().addExpressionListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsAdded(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void expressionsAdded(IExpression[] expressions) {
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsRemoved(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void expressionsRemoved(IExpression[] expressions) {
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsChanged(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void expressionsChanged(IExpression[] expressions) {		
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.actions.AbstractRemoveAllActionDelegate#dispose()
-     */
-    public void dispose() {
-        super.dispose();
-        DebugPlugin.getDefault().getExpressionManager().removeExpressionListener(this);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchAction.java
deleted file mode 100644
index 351e906..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchAction.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-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.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapter;
-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 IStructuredSelection 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;
-		}
-		Iterator iter = fSelection.iterator();
-		while (iter.hasNext()) {
-			IVariable variable = (IVariable) iter.next();
-			createExpression(variable);
-		}
-	}
-
-	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;
-		IWatchExpressionFactoryAdapter factory = (IWatchExpressionFactoryAdapter) variable.getAdapter(IWatchExpressionFactoryAdapter.class);
-		try {
-			String exp = variable.getName();
-			if (factory != null) {
-				exp = factory.createWatchExpression(variable);
-			}
-			expression = DebugPlugin.getDefault().getExpressionManager().newWatchExpression(exp);
-		} catch (CoreException e) {
-			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.WatchAction_0, ActionMessages.WatchAction_1, e); // 
-			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 = null;
-        int enabled = 0;
-        int size = -1;
-        if (selection instanceof IStructuredSelection) {
-            fSelection = (IStructuredSelection) selection;
-            size = fSelection.size();
-            IExpressionManager manager = DebugPlugin.getDefault().getExpressionManager();
-            Iterator iterator = fSelection.iterator();
-            while (iterator.hasNext()) {
-                IVariable variable = (IVariable) iterator.next();
-                if (manager.hasWatchExpressionDelegate(variable.getModelIdentifier())) {
-                    enabled++;
-                } else {
-                    break;
-                }
-            }
-        }
-        action.setEnabled(enabled == size);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java
deleted file mode 100644
index 20bf6dc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-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/expressions/WatchExpressionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionDialog.java
deleted file mode 100644
index 723c5a7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionDialog.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.expressions;
-
-
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.StatusInfo;
-import org.eclipse.jface.dialogs.StatusDialog;
-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.PlatformUI;
-
-/**
- * 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.WatchExpressionDialog_0); 
-			helpContextId = IDebugHelpContextIds.EDIT_WATCH_EXPRESSION_DIALOG;
-		} else {
-			setTitle(ActionMessages.WatchExpressionDialog_1); 
-			helpContextId = IDebugHelpContextIds.ADD_WATCH_EXPRESSION_DIALOG;
-		}
-		PlatformUI.getWorkbench().getHelpSystem().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.WatchExpressionDialog_2); 
-		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();
-		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.WatchExpressionDialog_3); 
-		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.WatchExpressionDialog_4); 
-		}
-		updateStatus(status);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousDisconnectAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousDisconnectAdapter.java
deleted file mode 100644
index bb603ca..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousDisconnectAdapter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.provisional;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-/**
- * Adapter for disconnecting.
- * 
- * @since 3.2
- */
-public interface IAsynchronousDisconnectAdapter {
-
-	/**
-	 * Asynchronously determines whether the given element can be disconnected.
-	 *  
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void canDisconnect(Object element, IBooleanRequestMonitor monitor);
-	
-	/**
-	 * Asynchronously determines whether the given element is disconnected.
-	 *  
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void isDisconnected(Object element, IBooleanRequestMonitor monitor);
-	
-	/**
-	 * Asynchronously disconnects the given element.
-	 *  
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void disconnect(Object element, IAsynchronousRequestMonitor monitor);	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousDropToFrameAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousDropToFrameAdapter.java
deleted file mode 100644
index 513c18a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousDropToFrameAdapter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.provisional;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-/**
- * Adapter for performing a drop to frame.
- * 
- * @since 3.2
- */
-public interface IAsynchronousDropToFrameAdapter {
-
-	/**
-	 * Asynchronously determines whether the given element can perform a drop to frame.
-	 *  
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void canDropToFrame(Object element, IBooleanRequestMonitor monitor);
-	
-	/**
-	 * Asynchronously drops to the given frame.
-	 *  
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void dropToFrame(Object element, IAsynchronousRequestMonitor monitor);	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousStepAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousStepAdapter.java
deleted file mode 100644
index 129c1d0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousStepAdapter.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.provisional;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-/**
- * Adapter for stepping.
- * 
- * @since 3.2
- */
-public interface IAsynchronousStepAdapter {
-
-	/**
-	 * Asynchronously determines whether the given element can perform a step into.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void canStepInto(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Asynchronously determines whether the given element can perform a step over.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void canStepOver(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Asynchronously determines whether the given element can perform a step return.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void canStepReturn(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Asynchronously determines whether the given element is stepping.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void isStepping(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Asynchronously performs a step into.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void stepInto(Object element, IAsynchronousRequestMonitor monitor);
-	/**
-	 * Asynchronously performs a step over.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void stepOver(Object element, IAsynchronousRequestMonitor monitor);
-	/**
-	 * Asynchronously performs a step return.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void stepReturn(Object element, IAsynchronousRequestMonitor monitor);	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousStepFiltersAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousStepFiltersAdapter.java
deleted file mode 100644
index 410b530..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousStepFiltersAdapter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.provisional;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-/**
- * Adapter for enabling and disabling step filters.
- * 
- * @since 3.2
- */
-public interface IAsynchronousStepFiltersAdapter {
-
-	/**
-	 * Asynchronously determines whether the given element supports step filters.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void supportsStepFilters(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Asynchronously determines whether step filters are enabled.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void isStepFiltersEnabled(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Asynchronously enables or disables step filters on the given element.
-	 *
-	 * @param element element
-	 * @param enabled whether step filters should be enabled
-	 * @param monitor request monitor
-	 */
-	public void setStepFiltersEnabled(Object element, boolean enabled, IAsynchronousRequestMonitor monitor);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousSuspendResumeAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousSuspendResumeAdapter.java
deleted file mode 100644
index 85c83e3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousSuspendResumeAdapter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.provisional;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-/**
- * Adapter for suspending and resuming.
- * 
- * @since 3.2
- */
-public interface IAsynchronousSuspendResumeAdapter {
-
-	/**
-	 * Asynchronously determines whether the given element can perform a resume.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void canResume(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Asynchronously determines whether the given element can be suspended.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void canSuspend(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Asynchronously determines whether the given element is suspended.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void isSuspended(Object element, IBooleanRequestMonitor monitor);
-	/**
-	 * Asynchronously resumes the given element.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void resume(Object element, IAsynchronousRequestMonitor monitor);
-	/**
-	 * Asynchronously suspends the given element.
-	 *
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void suspend(Object element, IAsynchronousRequestMonitor monitor);
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousTerminateAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousTerminateAdapter.java
deleted file mode 100644
index 2521774..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IAsynchronousTerminateAdapter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.provisional;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-/**
- * Adapter for terminating.
- * 
- * @since 3.2
- */
-public interface IAsynchronousTerminateAdapter {
-
-	/**
-	 * Asynchronously determines whether the given element can be terminated.
-	 *  
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void canTerminate(Object element, IBooleanRequestMonitor monitor);
-	
-	/**
-	 * Asynchronously determines whether the given element is terminated.
-	 *  
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void isTerminated(Object element, IBooleanRequestMonitor monitor);
-	
-	/**
-	 * Asynchronously terminates the given element.
-	 *  
-	 * @param element element
-	 * @param monitor request monitor
-	 */
-	public void terminate(Object element, IAsynchronousRequestMonitor monitor);	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IBooleanRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IBooleanRequestMonitor.java
deleted file mode 100644
index e31dc2b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/provisional/IBooleanRequestMonitor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.provisional;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-/**
- * Request monitor for obtaining a boolean result asynchronously.
- * 
- * @since 3.2
- */
-public interface IBooleanRequestMonitor extends IAsynchronousRequestMonitor {
-
-	/**
-	 * Sets the result of a boolean request.
-	 * 
-	 * @param result the result
-	 */
-	public void setResult(boolean result);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/AssignValueAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/AssignValueAction.java
deleted file mode 100644
index 8b3a7fc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/AssignValueAction.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.variables;
-
-import com.ibm.icu.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.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.VariableValueEditorManager;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.StatusInfo;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.ui.actions.IVariableValueEditor;
-import org.eclipse.jface.dialogs.MessageDialog;
-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.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-/**
- * Action which assigns a value to a variable from the detail pane
- * of the variables view.
- */
-public class AssignValueAction extends SelectionProviderAction {
-	private VariablesView variablesView;
-	private ISourceViewer detailsViewer;
-
-	public AssignValueAction(VariablesView varView, ISourceViewer detailViewer) {
-		super(varView.getViewer(), ActionMessages.AssignValueAction_1); 
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.ASSIGN_VALUE_ACTION);
-		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) {
-			}
-		}
-		IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-		Shell activeShell= null;
-		if (window != null) {
-			activeShell= window.getShell();
-		}
-		
-		String modelIdentifier = variable.getModelIdentifier();
-		IVariableValueEditor editor = VariableValueEditorManager.getDefault().getVariableValueEditor(modelIdentifier);
-		if (editor != null) {
-		    if (editor.saveVariable(variable, value, activeShell)) {
-		        // If we successfully delegate to an editor which performs the save,
-		        // don't do any more work.
-		        return;
-		    }
-		}
-		
-		try {
-		    // If we failed to delegate to anyone, perform the default assignment.
-			if (variable.verifyValue(value)) {
-				variable.setValue(value);
-			} else {
-			    if (activeShell != null) {
-			        DebugUIPlugin.errorDialog(activeShell, ActionMessages.AssignValueAction_2, MessageFormat.format(ActionMessages.AssignValueAction_3, new String[] {value, variable.getName()}), new StatusInfo(IStatus.ERROR, ActionMessages.AssignValueAction_4));  //  
-			    }
-			}
-		} catch (DebugException e) {
-            MessageDialog.openError(activeShell, ActionMessages.AssignValueAction_0, ActionMessages.AssignValueAction_5);
-		}
-		
-	}
-	
-	/* (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/variables/ChangeVariableValueAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueAction.java
deleted file mode 100644
index 81bf9f4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueAction.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.variables;
-
- 
-import com.ibm.icu.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.internal.ui.VariableValueEditorManager;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.IVariableValueEditor;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-/**
- * Action for changing the value of primitives and <code>String</code> variables.
- * This action will attempt to delegate the editing operation to a registered
- * variable value editor, if any is provided for the variable's debug model.
- * @see org.eclipse.debug.ui.actions.VariableValueEditorManager
- */
-public class ChangeVariableValueAction extends SelectionProviderAction {
-    
-	protected IVariable fVariable;
-    private VariablesView fView;
-    private boolean fEditing= false;
-	
-    /**
-     * Creates a new ChangeVariableValueAction for the given variables view
-     * @param view the varibles view in which this action will appear
-     */
-	public ChangeVariableValueAction(VariablesView view) {
-		super(view.getViewer(), ActionMessages.ChangeVariableValue_title); 
-		setDescription(ActionMessages.ChangeVariableValue_toolTipText); 
-		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));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(
-			this,
-			IDebugHelpContextIds.CHANGE_VALUE_ACTION);
-		fView= view;
-	}
-	
-	/**
-	 * Edit the variable value with an inline text editor.  
-	 */
-	protected void doActionPerformed(final IVariable variable) {
-	    Shell shell = fView.getViewSite().getShell();
-		// If a previous edit is still in progress, don't start another		
-	    if (fEditing) {
-	        return;
-	    }
-	    fEditing= true;
-		fVariable = variable;
-	    if (!delegateEdit(shell)) {
-	        doDefaultEdit(shell);
-	    }
-		fEditing= false;
-	}
-	
-	/**
-	 * Attempts to edit the variable by delegating to anyone who's
-	 * contributed a variable value editor via extension. Returns
-	 * <code>true</code> if a delegate handled the edit, <code>false</code>
-	 * if the variable still needs to be edited.
-	 * 
-     * @param shell a shell for prompting the user
-     * @return whether or not a delegate attempted to edit the variable
-     */
-    private boolean delegateEdit(Shell shell) {
-        String modelIdentifier = fVariable.getModelIdentifier();
-        IVariableValueEditor editor= VariableValueEditorManager.getDefault().getVariableValueEditor(modelIdentifier);
-        if (editor != null) {
-            return editor.editVariable(fVariable, shell);
-        }
-        return false;
-    }
-
-    /**
-     * Edits the variable using the default variable editor
-     * @param shell a shell for prompting the user
-     */
-    protected void doDefaultEdit(Shell shell) {
-	    String name= ""; //$NON-NLS-1$
-		String value= ""; //$NON-NLS-1$
-		try {
-			name= fVariable.getName();
-			value= fVariable.getValue().getValueString();
-		} catch (DebugException exception) {
-			DebugUIPlugin.errorDialog(shell, ActionMessages.ChangeVariableValue_errorDialogTitle,ActionMessages.ChangeVariableValue_errorDialogMessage, exception);	// 
-			return;
-		}
-		ChangeVariableValueInputDialog inputDialog= new ChangeVariableValueInputDialog(shell, ActionMessages.ChangeVariableValue_1, MessageFormat.format(ActionMessages.ChangeVariableValue_2, new String[] {name}), value, new IInputValidator() { // 
-			/**
-			 * 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.ChangeVariableValue_3; 
-				}
-				return ActionMessages.ChangeVariableValue_4; 
-			}
-		});
-		
-		inputDialog.open();
-		String newValue= inputDialog.getValue();
-		if (newValue != null) {
-			// null value means cancel was pressed
-			try {
-				fVariable.setValue(newValue);
-				getSelectionProvider().setSelection(new StructuredSelection(fVariable));
-			} catch (DebugException de) {
-				DebugUIPlugin.errorDialog(shell, ActionMessages.ChangeVariableValue_errorDialogTitle,ActionMessages.ChangeVariableValue_errorDialogMessage, de);	// 
-			}
-		}
-	}
-		
-	/**
-	 * 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/variables/ChangeVariableValueInputDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueInputDialog.java
deleted file mode 100644
index e8bba87..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueInputDialog.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.variables;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.TrayDialog;
-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.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 TrayDialog {
-	
-	
-	/**
-	 * 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.dialogs.Dialog#getDialogBoundsSettings()
-     */
-    protected IDialogSettings getDialogBoundsSettings() {
-    	 IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-         IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-         if (section == null) {
-             section = settings.addNewSection(getDialogSettingsSectionName());
-         } 
-         return section;
-    }
-	
-	/* (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/variables/SelectAllVariablesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/SelectAllVariablesAction.java
deleted file mode 100644
index dc228a6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/SelectAllVariablesAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.variables;
-
-import org.eclipse.debug.internal.ui.actions.SelectAllAction;
-import org.eclipse.debug.ui.IDebugView;
-
-public class SelectAllVariablesAction extends SelectAllAction {
-
-	
-	protected String getActionId() {
-		return IDebugView.SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#initialize()
-	 */
-	protected void initialize() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#isEnabled()
-	 */
-	protected boolean isEnabled() {
-		// TODO: only enable when stuff present
-		return true;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ShowTypesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ShowTypesAction.java
deleted file mode 100644
index a8cdbc1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ShowTypesAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.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.debug.internal.ui.actions.ActionMessages;
-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.PlatformUI;
-
-/**
- * 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.ShowTypesAction_Show__Type_Names_1, IAction.AS_CHECK_BOX); 
-		setView(view);
-		setToolTipText(ActionMessages.ShowTypesAction_Show_Type_Names); 
-		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$
-		PlatformUI.getWorkbench().getHelpSystem().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();					
-				}
-			});
-		}
-	}
-	
-	protected IDebugView getView() {
-		return fView;
-	}
-
-	protected void setView(IDebugView view) {
-		fView = view;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		super.setEnabled(enabled);
-		if (enabled) {
-			setToolTipText(ActionMessages.ShowTypesAction_Show_Type_Names);
-		} else {
-			setToolTipText(ActionMessages.ShowTypesAction_0);
-		}
-	}
-	
-	
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ToggleDetailPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ToggleDetailPaneAction.java
deleted file mode 100644
index b48c818..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ToggleDetailPaneAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions.variables;
-
-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.actions.ActionMessages;
-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.PlatformUI;
-
-/**
- * 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.ToggleDetailPaneAction_1);  
-			setToolTipText(ActionMessages.ToggleDetailPaneAction_2);  
-			setDescription(ActionMessages.ToggleDetailPaneAction_3);  
-			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.ToggleDetailPaneAction_4);  
-			setToolTipText(ActionMessages.ToggleDetailPaneAction_5);  
-			setDescription(ActionMessages.ToggleDetailPaneAction_6);  
-			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.ToggleDetailPaneAction_8);  
-			setDescription(ActionMessages.ToggleDetailPaneAction_9);  
-			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));
-		} 		
-		PlatformUI.getWorkbench().getHelpSystem().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/contexts/DebugContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java
deleted file mode 100644
index 54350b0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextProvider;
-import org.eclipse.debug.internal.ui.views.ViewContextManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @since 3.2
- */
-public class DebugContextManager implements IDebugContextManager {
-	
-	private static DebugContextManager fgDefault;
-	private Map fServices = new HashMap();
-	private ListenerList fGlobalListeners = new ListenerList();
-	
-	private class WindowListener implements IWindowListener {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow)
-		 */
-		public void windowActivated(IWorkbenchWindow window) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow)
-		 */
-		public void windowDeactivated(IWorkbenchWindow window) {			
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow)
-		 */
-		public void windowClosed(IWorkbenchWindow window) {
-			DebugWindowContextService service = (DebugWindowContextService) fServices.remove(window);
-			if (service != null) {
-				service.dispose();
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow)
-		 */
-		public void windowOpened(IWorkbenchWindow window) {
-		}
-		
-	}
-	
-	private DebugContextManager() {
-		PlatformUI.getWorkbench().addWindowListener(new WindowListener());
-	}
-	
-	public static IDebugContextManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new DebugContextManager();
-			// create the model context bindigg manager at the same time
-			DebugModelContextBindingManager.getDefault();
-			// create view manager
-			ViewContextManager.getDefault();			
-		}
-		return fgDefault;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextManager#addDebugContextProvider(org.eclipse.debug.ui.contexts.IDebugContextProvider)
-	 */
-	public void addDebugContextProvider(IDebugContextProvider provider) {
-		IWorkbenchPart part = provider.getPart();
-		IWorkbenchWindow window = part.getSite().getWorkbenchWindow();
-		DebugWindowContextService service = createService(window);
-		service.addProvider(provider);
-	}
-	
-	protected DebugWindowContextService createService(IWorkbenchWindow window) {
-		DebugWindowContextService service = (DebugWindowContextService) fServices.get(window);
-		if (service == null) {
-			service = new DebugWindowContextService(window);
-			fServices.put(window, service);
-			// TODO: register 'null' provider (global)
-			
-			// register global listeners
-			Object[] listeners = fGlobalListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				IDebugContextListener listener = (IDebugContextListener) listeners[i];
-				service.addDebugContextListener(listener);
-			}
-		}
-		return service;
-	}
-	
-	protected IDebugContextService getService(IWorkbenchWindow window) {
-		return (DebugWindowContextService) fServices.get(window);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextManager#removeDebugContextProvider(org.eclipse.debug.ui.contexts.IDebugContextProvider)
-	 */
-	public void removeDebugContextProvider(IDebugContextProvider provider) {
-		IWorkbenchPart part = provider.getPart();
-		IWorkbenchWindow window = part.getSite().getWorkbenchWindow();
-		DebugWindowContextService service = (DebugWindowContextService) fServices.get(window);
-		if (service != null) {
-			service.removeProvider(provider);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextManager#addDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener, org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void addDebugContextListener(IDebugContextListener listener, IWorkbenchWindow window) {
-		IDebugContextService service = createService(window);
-		service.addDebugContextListener(listener);			
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextManager#removeDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener, org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void removeDebugContextListener(IDebugContextListener listener, IWorkbenchWindow window) {
-		IDebugContextService service = getService(window);
-		if (service != null) {
-			service.removeDebugContextListener(listener);
-		}	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextManager#addDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener, org.eclipse.ui.IWorkbenchWindow, java.lang.String)
-	 */
-	public void addDebugContextListener(IDebugContextListener listener, IWorkbenchWindow window, String partId) {
-		DebugWindowContextService service = createService(window);
-		service.addDebugContextListener(listener, partId);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextManager#removeDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener, org.eclipse.ui.IWorkbenchWindow, java.lang.String)
-	 */
-	public void removeDebugContextListener(IDebugContextListener listener, IWorkbenchWindow window, String partId) {
-		IDebugContextService service = getService(window);
-		if (service != null) {
-			service.removeDebugContextListener(listener, partId);
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextManager#getActiveContext(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public ISelection getActiveContext(IWorkbenchWindow window) {
-		IDebugContextService service = getService(window);
-		if (service != null) {
-			return service.getActiveContext();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextManager#getActiveContext(org.eclipse.ui.IWorkbenchWindow, java.lang.String)
-	 */
-	public ISelection getActiveContext(IWorkbenchWindow window, String partId) {
-		IDebugContextService service = getService(window);
-		if (service != null) {
-			return service.getActiveContext(partId);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.contexts.IDebugContextManager#addDebugContextListener(org.eclipse.debug.internal.ui.contexts.IDebugContextListener)
-	 */
-	public void addDebugContextListener(IDebugContextListener listener) {
-		fGlobalListeners.add(listener);
-		DebugWindowContextService[] services = getServices();
-		for (int i = 0; i < services.length; i++) {
-			DebugWindowContextService service = services[i];
-			service.addDebugContextListener(listener);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.contexts.IDebugContextManager#removeDebugContextListener(org.eclipse.debug.internal.ui.contexts.IDebugContextListener)
-	 */
-	public void removeDebugContextListener(IDebugContextListener listener) {
-		fGlobalListeners.remove(listener);
-		DebugWindowContextService[] services = getServices();
-		for (int i = 0; i < services.length; i++) {
-			DebugWindowContextService service = services[i];
-			service.removeDebugContextListener(listener);
-		}
-	}
-	
-	/**
-	 * Returns the existing context services.
-	 * 
-	 * @return existing context services
-	 */
-	private DebugWindowContextService[] getServices() {
-		Collection sevices = fServices.values();
-		return (DebugWindowContextService[]) sevices.toArray(new DebugWindowContextService[sevices.size()]);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
deleted file mode 100644
index 6e64205..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.commands.contexts.Context;
-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.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugModelProvider;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.ActivityManagerEvent;
-import org.eclipse.ui.activities.IActivity;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IActivityManagerListener;
-import org.eclipse.ui.activities.IActivityPatternBinding;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-import org.eclipse.ui.contexts.IContextActivation;
-import org.eclipse.ui.contexts.IContextService;
-
-/**
- * Manages <code>debugModelContextBindings</code> extensions.
- * <p>
- * As debug contexts are activated, associated <code>org.eclipse.ui.contexts</code>
- * are activated. When a debug session (launch) terminates, the associated contexts
- * are disabled. Debug model activation also triggers assocaited activities.
- * </p>
- * @since 3.2
- */
-public class DebugModelContextBindingManager implements IDebugContextListener, ILaunchesListener2, IActivityManagerListener {
-	
-	/**
-	 * Map of debug model identifier to associated contexts as defined
-	 * by <code>debugModelContextBindings</code> extensions.
-	 */
-	private Map fModelToContextIds = new HashMap();
-	
-	/**
-	 * Map of launch objects to enabled model ids
-	 */
-	private Map fLaunchToModelIds = new HashMap();
-	
-	/**
-	 * Map of launch objects to context activations
-	 */
-	private Map fLanuchToContextActivations = new HashMap();
-	
-	/**
-	 * A list of activity pattern bindings for debug models. 
-	 */
-	private List fModelPatternBindings = new ArrayList();
-	
-	/**
-	 * Map of debug model ids to assocaited activity ids.
-	 */
-	private Map fModelToActivities = new HashMap();
-	
-	/**
-	 * A set of debug model ids for which activities have been enabled.
-	 * Cleared when enabled activities change.
-	 */
-	private Set fModelsEnabledForActivities = new HashSet();
-	
-	// extension point
-	public static final String ID_DEBUG_MODEL_CONTEXT_BINDINGS= "debugModelContextBindings"; //$NON-NLS-1$
-	
-	// extension point attributes
-	public static final String ATTR_CONTEXT_ID= "contextId"; //$NON-NLS-1$
-	public static final String ATTR_DEBUG_MODEL_ID= "debugModelId"; //$NON-NLS-1$
-	
-	// base debug context
-	public static final String DEBUG_CONTEXT= "org.eclipse.debug.ui.debugging"; //$NON-NLS-1$
-	
-	// suffix for debug activities triggered by debug model context binding activation
-	private static final String DEBUG_MODEL_ACTIVITY_SUFFIX = "/debugModel"; //$NON-NLS-1$
-	
-	// singleton manager
-	private static DebugModelContextBindingManager fgManager;
-	
-	private static IContextService fgContextService = (IContextService) PlatformUI.getWorkbench().getAdapter(IContextService.class);
-	
-	public static DebugModelContextBindingManager getDefault() {
-		if (fgManager == null) {
-			fgManager = new DebugModelContextBindingManager();
-		}
-		return fgManager;
-	}
-	
-	private DebugModelContextBindingManager() {
-		loadDebugModelContextBindings();
-		loadDebugModelActivityExtensions();
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-		DebugContextManager.getDefault().addDebugContextListener(this);
-		IWorkbenchActivitySupport activitySupport = PlatformUI.getWorkbench().getActivitySupport();
-		activitySupport.getActivityManager().addActivityManagerListener(this);
-	}
-	
-	/**
-	 * Loads the extensions which map debug model identifiers
-	 * to context ids.
-	 */
-	private void loadDebugModelContextBindings() {
-		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) fModelToContextIds.get(modelIdentifier);
-				if (contextIds == null) {
-					contextIds = new ArrayList();
-					fModelToContextIds.put(modelIdentifier, contextIds);
-				}
-				contextIds.add(contextId);
-			}
-		}
-	}	
-	
-	/**
-	 * Loads the extensions which map debug model patterns
-	 * 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();
-					if (pattern.endsWith(DEBUG_MODEL_ACTIVITY_SUFFIX)) {
-						fModelPatternBindings.add(patternBinding);
-					}
-				}
-			}
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.contexts.IDebugContextListener#contextActivated(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextActivated(ISelection selection, IWorkbenchPart part) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection) selection;
-			Iterator iterator = ss.iterator();
-			while (iterator.hasNext()) {
-				activated(iterator.next()); 
-			}
-		}
-	}
-	
-	/**
-	 * The specified object has been activated. Activate contexts and activities as
-	 * required for the object.
-	 * 
-	 * @param object object that has been activated
-	 */
-	private void activated(Object object) {
-		String[] modelIds = getDebugModelIds(object);
-		if (modelIds == null) {
-			return;
-		}
-		ILaunch launch = getLaunch(object);
-		if (launch == null) {
-			return;
-		}
-		Set alreadyEnabled = (Set) fLaunchToModelIds.get(launch);
-		if (alreadyEnabled == null) {
-			alreadyEnabled = new HashSet();
-			fLaunchToModelIds.put(launch, alreadyEnabled);
-		}
-		for (int i = 0; i < modelIds.length; i++) {
-			String id = modelIds[i];
-			if (!alreadyEnabled.contains(id)) {
-				alreadyEnabled.add(id);
-				activateModel(id, launch);
-			}
-		}
-		enableActivitiesFor(modelIds);
-	}
-	
-	/**
-	 * Activates the given model identifier for the specified launch. This activates
-	 * associated contexts and all parent contexts for the model.
-	 * 
-	 * @param modelId model to be enabled
-	 * @param launch the launch the model is being enabled for
-	 */
-	private void activateModel(String modelId, ILaunch launch) {
-		List contextIds = (List) fModelToContextIds.get(modelId);
-		if (contextIds == null) {
-			return;
-		}
-		Iterator iterator = contextIds.iterator();
-		while (iterator.hasNext()) {
-			activateContext((String) iterator.next(), launch);
-		}
-	}
-	
-	/**
-	 * Activates the given context and all its parent contexts.
-	 * 
-	 * @param contextId
-	 * @param launch
-	 */
-	private void activateContext(String contextId, ILaunch launch) {
-		while (contextId != null) {
-			Context context = fgContextService.getContext(contextId);
-			IContextActivation activation = fgContextService.activateContext(contextId);
-			addActivation(launch, activation);
-			try {
-				if (contextId.equals(DEBUG_CONTEXT)) {
-					// don't enable windows contexts and higher
-					break;
-				}
-				contextId = context.getParentId();
-			} catch (NotDefinedException e) {
-				contextId = null;
-				DebugUIPlugin.log(e);
-			}
-		}
-	}
-	
-	/**
-	 * Notes the activation for a context and launch so we can de-activate later.
-	 * 
-	 * @param launch
-	 * @param activation
-	 */
-	private void addActivation(ILaunch launch, IContextActivation activation) {
-		List activations = (List) fLanuchToContextActivations.get(launch);
-		if (activations == null) {
-			activations = new ArrayList();
-			fLanuchToContextActivations.put(launch, activations);
-		}
-		activations.add(activation);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.contexts.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {
-	}
-
-	/**
-	 * Returns the debug model identifiers associated with the given object or <code>null</code>
-	 * if none.
-	 * 
-	 * @param object 
-	 * @return debug model identifiers associated with the given object or <code>null</code>
-	 */
-	private String[] getDebugModelIds(Object object) {
-		if (object instanceof IAdaptable) {
-			IDebugModelProvider modelProvider= (IDebugModelProvider) Platform.getAdapterManager().getAdapter(object, IDebugModelProvider.class);
-			if (modelProvider != null) {
-				String[] modelIds= modelProvider.getModelIdentifiers();
-				if (modelIds != null) {
-					return modelIds;
-				}
-			}
-		}
-		if (object instanceof IStackFrame) {
-			return new String[] { ((IStackFrame) object).getModelIdentifier() };
-		}
-		return null;
-	}	
-	
-	/**
-	 * Returns the ILaunch associated with the given object or
-	 * <code>null</code> if none.
-	 * 
-	 * @param object object for which launch is required
-	 * @return the ILaunch associated with the given object or <code>null</code>
-	 */
-	public static ILaunch getLaunch(Object object) {
-		ILaunch launch = null;
-		if (object instanceof IAdaptable) {
-			launch = (ILaunch) ((IAdaptable)object).getAdapter(ILaunch.class);
-		}
-		if (launch == null && object instanceof IDebugElement) {
-			launch = ((IDebugElement) object).getLaunch();
-		}
-		return launch;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesTerminated(ILaunch[] launches) {
-		// disable activated contexts
-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
-			final List activations = (List) fLanuchToContextActivations.remove(launch);
-			fLaunchToModelIds.remove(launch);
-			if (activations != null) {
-				Runnable r = new Runnable() {
-					public void run() {
-						Iterator iterator = activations.iterator();
-						while (iterator.hasNext()) {
-							IContextActivation activation = (IContextActivation) iterator.next();
-							activation.getContextService().deactivateContext(activation);
-						}
-					}
-				};
-				DebugUIPlugin.getStandardDisplay().asyncExec(r);
-			}
-			
-		}
-		// TODO: Terminated notification
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesRemoved(ILaunch[] launches) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesAdded(ILaunch[] launches) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesChanged(ILaunch[] launches) {
-	}	
-	
-	/**
-	 * Returns the workbench contexts associated with a debug context
-	 * 
-	 * @param target debug context
-	 * @return associated workbench contexts
-	 */
-	public List getWorkbenchContextsForDebugContext(Object target) {
-		List workbenchContexts = new ArrayList();
-		String[] modelIds = getDebugModelIds(target);
-		if (modelIds != null) {
-			for (int i = 0; i < modelIds.length; i++) {
-				String modelId = modelIds[i];
-				List contextIds = (List) fModelToContextIds.get(modelId);
-				if (contextIds != null) {
-					Iterator contextIterator = contextIds.iterator();
-					while (contextIterator.hasNext()) {
-						String contextId = (String) contextIterator.next();
-						if (!workbenchContexts.contains(contextId)) {
-							workbenchContexts.add(contextId);
-						}
-					}
-				}
-			}
-		}
-		return workbenchContexts;
-	}	
-	
-	/**
-	 * Enables activities in the workbench associated with the given debug 
-	 * model ids that have been activated.
-	 * 
-	 * @param debug model ids for which to enable activities
-	 */
-	private void enableActivitiesFor(String[] modelIds) {
-		Set activities = null;
-		for (int i = 0; i < modelIds.length; i++) {
-			String id = modelIds[i];
-			if (!fModelsEnabledForActivities.contains(id)) {
-				Set ids= (Set) fModelToActivities.get(id);
-				if (ids == null) {
-					// first time the model has been seen, perform pattern matching
-					ids = new HashSet();
-					fModelToActivities.put(id, ids);
-					Iterator bindings = fModelPatternBindings.iterator();
-					while (bindings.hasNext()) {
-						IActivityPatternBinding binding = (IActivityPatternBinding) bindings.next();
-						String regex = binding.getPattern().pattern();
-						regex = regex.substring(0, regex.length() - DEBUG_MODEL_ACTIVITY_SUFFIX.length());
-						if (Pattern.matches(regex, id)) {
-							ids.add(binding.getActivityId());
-						}
-					}
-				}
-				if (!ids.isEmpty()) {
-					if (activities == null) {
-						activities = new HashSet();
-					}
-					activities.addAll(ids);
-				}
-				fModelsEnabledForActivities.add(id);
-			}
-		}
-		if (activities != null) {
-			IWorkbenchActivitySupport activitySupport = PlatformUI.getWorkbench().getActivitySupport();
-			Set enabledActivityIds = activitySupport.getActivityManager().getEnabledActivityIds();
-			if (!enabledActivityIds.containsAll(activities)) {
-				enabledActivityIds = new HashSet(enabledActivityIds);
-				enabledActivityIds.addAll(activities);
-				activitySupport.setEnabledActivityIds(activities);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.activities.IActivityManagerListener#activityManagerChanged(org.eclipse.ui.activities.ActivityManagerEvent)
-	 */
-	public void activityManagerChanged(ActivityManagerEvent activityManagerEvent) {
-		if (activityManagerEvent.haveEnabledActivityIdsChanged()) {
-			fModelsEnabledForActivities.clear();
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
deleted file mode 100644
index d78d0d4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * Context service for a specific window.
- * 
- * @since 3.2
- */
-public class DebugWindowContextService implements IDebugContextService, IPartListener2, IDebugContextListener {
-	
-	private Map fListenersByPartId = new HashMap();
-	private Map fProvidersByPartId = new HashMap();
-	
-	private IWorkbenchWindow fWindow;
-	private List fProviders = new ArrayList();
-	
-	private static final int ACTIVATED = 1;
-	private static final int CHANGED = 2;
-
-	public DebugWindowContextService(IWorkbenchWindow window) {
-		fWindow = window;
-		fWindow.getPartService().addPartListener(this);
-	}
-	
-	public void dispose() {
-		fWindow.getPartService().removePartListener(this);
-		fWindow = null;
-	}
-	
-	protected synchronized void addProvider(IDebugContextProvider provider) {
-		IWorkbenchPart part = provider.getPart();
-		String id = null;
-		if (part != null) {
-			id = part.getSite().getId();
-		}
-		fProvidersByPartId.put(id, provider);
-		fProviders.add(provider);
-		IWorkbenchPart active = null;
-		IWorkbenchPage activePage = fWindow.getActivePage();
-		if (activePage != null) {
-			active = activePage.getActivePart();
-		}
-		if (fProviders.size() == 1 && (part == null || part.equals(active))) {
-			notify(ACTIVATED);
-		}
-		provider.addDebugContextListener(this);
-	}
-	
-	protected synchronized void removeProvider(IDebugContextProvider provider) {
-		int index = fProviders.indexOf(provider);
-		if (index >= 0) {
-			IWorkbenchPart part = provider.getPart();
-			String id = null;
-			if (part != null) {
-				id = part.getSite().getId();
-			}
-			fProvidersByPartId.remove(id);
-			fProviders.remove(index);
-			if (index == 0) {
-				notify(ACTIVATED);
-			}
-		}
-		provider.removeDebugContextListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextService#addDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener)
-	 */
-	public void addDebugContextListener(IDebugContextListener listener) {
-		addDebugContextListener(listener, null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextService#removeDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener)
-	 */
-	public void removeDebugContextListener(IDebugContextListener listener) {
-		removeDebugContextListener(listener, null);
-	}
-	
-	protected void notify(int type) {
-		if (fProviders.isEmpty()) {
-			notify(type, new StructuredSelection(), null);
-		} else {
-			IDebugContextProvider provider = (IDebugContextProvider) fProviders.get(0);
-			notify(type, provider.getActiveContext(), provider.getPart());
-		}
-	}
-	
-	protected void notify(int type, ISelection context, IWorkbenchPart part) {
-		notify(type, getListeners(null), context, part);
-		if (part != null) {
-			notify(type, getListeners(part), context, part);
-		}
-	}
-	protected void notify(final int type, ListenerList list, final ISelection context, final IWorkbenchPart part) {
-		if (list != null) {
-			Object[] listeners = list.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				final IDebugContextListener listener = (IDebugContextListener) listeners[i];
-				SafeRunner.run(new ISafeRunnable() {
-					public void run() throws Exception {
-						if (type == ACTIVATED) {
-							listener.contextActivated(context, part);
-						} else {
-							listener.contextChanged(context, part);
-						}
-					}
-					public void handleException(Throwable exception) {
-						DebugUIPlugin.log(exception);
-					}
-				});
-			}
-		}
-	}
-	
-	protected ListenerList getListeners(IWorkbenchPart part) {
-		String id = null;
-		if (part != null) {
-			id = part.getSite().getId();
-		}
-		return (ListenerList) fListenersByPartId.get(id);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextService#addDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener, java.lang.String)
-	 */
-	public synchronized void addDebugContextListener(IDebugContextListener listener, String partId) {
-		ListenerList list = (ListenerList) fListenersByPartId.get(partId);
-		if (list == null) {
-			list = new ListenerList();
-			fListenersByPartId.put(partId, list);
-		}
-		list.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextService#removeDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener, java.lang.String)
-	 */
-	public void removeDebugContextListener(IDebugContextListener listener, String partId) {
-		ListenerList list = (ListenerList) fListenersByPartId.get(partId);
-		if (list != null) {
-			list.remove(listener);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextService#getActiveContext(java.lang.String)
-	 */
-	public ISelection getActiveContext(String partId) {
-		IDebugContextProvider provider = (IDebugContextProvider) fProvidersByPartId.get(partId);
-		if (provider != null) {
-			return provider.getActiveContext();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextService#getActiveContext()
-	 */
-	public ISelection getActiveContext() {
-		if (!fProviders.isEmpty()) {
-			return ((IDebugContextProvider)fProviders.get(0)).getActiveContext();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partActivated(IWorkbenchPartReference partRef) {
-		Object provider = fProvidersByPartId.get(partRef.getId());
-		if (provider != null) {
-			int index = fProviders.indexOf(provider);
-			if (index > 0) {
-				fProviders.remove(index);
-				fProviders.add(0, provider);
-				notify(ACTIVATED);
-			}
-		}
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partBroughtToTop(IWorkbenchPartReference partRef) {		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public synchronized void partClosed(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#partOpened(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partOpened(IWorkbenchPartReference partRef) {		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partHidden(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partVisible(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partInputChanged(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextListener#contextActivated(java.lang.Object, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public synchronized void contextActivated(ISelection context, IWorkbenchPart part) {
-		if (!fProviders.isEmpty()) {
-			IDebugContextProvider provider = (IDebugContextProvider) fProviders.get(0);
-			if (provider.getPart() == part) {
-				notify(ACTIVATED);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {	
-		if (!fProviders.isEmpty()) {
-			IDebugContextProvider provider = (IDebugContextProvider) fProviders.get(0);
-			if (provider.getPart() == part) {
-				notify(CHANGED);
-			}
-		}		
-	}
-	
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/IDebugContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/IDebugContextService.java
deleted file mode 100644
index 7f871ca..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/IDebugContextService.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts;
-
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.jface.viewers.ISelection;
-
-
-/** 
- * Debug context service for a window.
- * 
- * @since 3.2
- */
-public interface IDebugContextService {
-	
-	/**
-	 * Registers for context activation notification in this service.
-	 * 
-	 * @param listener
-	 */
-	public void addDebugContextListener(IDebugContextListener listener);
-	/**
-	 * Deregisters for context activation notification in this service.
-	 * 
-	 * @param listener
-	 */	
-	public void removeDebugContextListener(IDebugContextListener listener);
-	
-	/**
-	 * Registers for context activation notification in the specified part.
-	 * 
-	 * @param listener
-	 * @param partId
-	 */
-	public void addDebugContextListener(IDebugContextListener listener, String partId);
-	
-	/**
-	 * Deregisters for context activation notification in the specified part.
-	 * 
-	 * @param listener
-	 * @param partId
-	 */
-	public void removeDebugContextListener(IDebugContextListener listener, String partId);
-		
-	/**
-	 * Returns the active context in this service's window
-	 * or <code>null</code>.
-	 * 
-	 * @return
-	 */
-	public ISelection getActiveContext();
-	
-	/**
-	 * Returns the active context in the specified part or <code>null</code>.
-	 * 
-	 * @param partId
-	 * @return
-	 */
-	public ISelection getActiveContext(String partId);
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java
deleted file mode 100644
index 4be91b0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerAdapter;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerListener;
-
-/**
- * @since 3.2
- */
-public class LaunchSuspendTrigger implements ISuspendTriggerAdapter, IDebugEventSetListener {
-
-	private ListenerList fListeners = new ListenerList();
-	private SuspendTriggerAdapterFactory fFactory = null;
-	private ILaunch fLaunch = null;
-	
-	public LaunchSuspendTrigger(ILaunch launch, SuspendTriggerAdapterFactory factory) {
-		fFactory = factory;
-		fLaunch = launch;
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	public ILaunch getLaunch() {
-		return fLaunch;
-	}
-	
-	protected void dispose() {
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-		fListeners = null;
-		fFactory.dispose(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.ISuspendTrigger#addSuspendTriggerListener(org.eclipse.debug.ui.contexts.ISuspendTriggerListener)
-	 */
-	public void addSuspendTriggerListener(ISuspendTriggerListener listener) {
-        if (fListeners != null) {
-            fListeners.add(listener);
-        }
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.ISuspendTrigger#removeSuspendTriggerListener(org.eclipse.debug.ui.contexts.ISuspendTriggerListener)
-	 */
-	public void removeSuspendTriggerListener(ISuspendTriggerListener listener) { 
-        if (fListeners != null) {
-            fListeners.remove(listener);
-        }
-        if (fListeners.size() == 0) {
-        	dispose();
-        }
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.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.isEvaluation() && event.getDetail() != DebugEvent.STEP_END) {
-//				 Don't switch perspective for evaluations or stepping
-				Object source = event.getSource();
-				if (source instanceof IAdaptable) {
-					IAdaptable adaptable = (IAdaptable) source;
-					ILaunch launch = (ILaunch) adaptable.getAdapter(ILaunch.class);
-					if (fLaunch.equals(launch)) {
-						// only notify for this launch
-						notifySuspend(event);						
-					}
-				}
-
-			}
-		}
-	}
-
-	/**
-	 * @param event
-	 */
-	private void notifySuspend(DebugEvent event) {
-		Object source = event.getSource();
-		if (source instanceof IDebugElement) {
-			final ILaunch launch = ((IDebugElement)source).getLaunch();
-			Object context = null;
-			if (source instanceof IThread) {
-				try {
-					context = ((IThread)source).getTopStackFrame();
-				} catch (DebugException e) {
-				}
-			} else if (source instanceof IDebugTarget) {
-				context = source;
-			}
-			final Object temp = context;
-            ListenerList list = fListeners;
-            if (list != null) {
-                Object[] listeners = list.getListeners();
-        		for (int i = 0; i < listeners.length; i++) {
-        			final ISuspendTriggerListener listener = (ISuspendTriggerListener) listeners[i];
-        			SafeRunner.run(new ISafeRunnable() {
-        				public void run() throws Exception {
-        					listener.suspended(launch, temp);
-        				}
-        			
-        				public void handleException(Throwable exception) {
-        					DebugUIPlugin.log(exception);
-        				}
-        			
-        			}); 			
-        		}
-            }
-
-		}
-		
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
deleted file mode 100644
index 20f2999..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerAdapter;
-
-/**
- * @since 3.2
- */
-public class SuspendTriggerAdapterFactory implements IAdapterFactory {
-	
-	private Map fSuspendTriggers = new HashMap(); 
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public synchronized Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType.equals(ISuspendTriggerAdapter.class)) {
-			if (adaptableObject instanceof ILaunch) {
-				Object trigger = fSuspendTriggers.get(adaptableObject);
-				if (trigger == null) {
-					trigger = new LaunchSuspendTrigger((ILaunch) adaptableObject, this);
-					fSuspendTriggers.put(adaptableObject, trigger);
-				}
-				return trigger;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[]{ISuspendTriggerAdapter.class};
-	}
-	
-	public synchronized void dispose(LaunchSuspendTrigger trigger) {
-		fSuspendTriggers.remove(trigger.getLaunch());
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextListener.java
deleted file mode 100644
index 8945554..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextListener.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts.provisional;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Notified of context activation and when the active context changes state.
- * Listeners register with the debug context manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.2
- * @see IDebugContextManager
- */
-public interface IDebugContextListener {
-	
-	/**
-	 * Notification the given selection contains the active context in the 
-	 * specified part.
-	 * 
-	 * @param selection selection containing active context
-	 * @param part workbench part or <code>null</code>
-	 */
-	public void contextActivated(ISelection selection, IWorkbenchPart part);
-	
-	/**
-	 * Notification the context in the given selection has changed state
-	 * in the specified part. Context changes are only sent for contexts
-	 * that are active. 
-	 * 
-	 * @param selection selection containing changed context
-	 * @param part workbench part or <code>null</code>
-	 */
-	public void contextChanged(ISelection selection, IWorkbenchPart part);
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextManager.java
deleted file mode 100644
index ee515d4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextManager.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts.provisional;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * A debug context drives debugging - source lookup and action enablement in the 
- * debug user interface. The context service provides notification
- * of changes in the active context specific to the workbench, a specific window, or a
- * specific part.
- * <p>
- * Cleints provide a context policy to notifiy the context service of interesting
- * contexts within a model. For example the debug platform provides a context policy
- * that maps debug events to suspended contexts.
- * </p>
- * <p>
- * Not intended to be implemented by clients.
- * </p> 
- * @since 3.2
- */
-public interface IDebugContextManager {
-	
-	/**
-	 * Registers the given debug context provider.
-	 * 
-	 * @param provider
-	 */
-	public void addDebugContextProvider(IDebugContextProvider provider);
-	
-	/**
-	 * Deregisters the given debug context provider.
-	 * 
-	 * @param provider
-	 */
-	public void removeDebugContextProvider(IDebugContextProvider provider);	
-	
-	/**
-	 * Registers for context activation notification in the given window.
-	 * 
-	 * @param listener
-	 * @param window
-	 */
-	public void addDebugContextListener(IDebugContextListener listener, IWorkbenchWindow window);
-	/**
-	 * Deregisters for context activation notification in this service in the
-	 * given window.
-	 * 
-	 * @param listener
-	 * @param window
-	 */	
-	public void removeDebugContextListener(IDebugContextListener listener, IWorkbenchWindow window);
-	
-	/**
-	 * Registers for context activation notification in the specified part of the
-	 * specified window.
-	 * 
-	 * @param listener
-	 * @param window
-	 * @param partId
-	 */
-	public void addDebugContextListener(IDebugContextListener listener, IWorkbenchWindow window, String partId);
-	
-	/**
-	 * Deregisters for context activation notification in the specified part of
-	 * the specified window.
-	 * 
-	 * @param listener
-	 * @param partId
-	 */
-	public void removeDebugContextListener(IDebugContextListener listener, IWorkbenchWindow window, String partId);
-		
-	/**
-	 * Returns the active context in the given window
-	 * or <code>null</code>.
-	 * 
-	 * @param window
-	 * @return
-	 */
-	public ISelection getActiveContext(IWorkbenchWindow window);
-	
-	/**
-	 * Returns the active context in the specified part of the given 
-	 * window or <code>null</code>.
-	 * 
-	 * @param partId
-	 * @return
-	 */
-	public ISelection getActiveContext(IWorkbenchWindow window, String partId);	
-	
-	/**
-	 * Registers for context activation notification in all windows.
-	 * 
-	 * @param listener
-	 */	
-	public void addDebugContextListener(IDebugContextListener listener);
-	
-	/**
-	 * Deregisters for context activation notification in all windows.
-	 * 
-	 * @param listener
-	 */	
-	public void removeDebugContextListener(IDebugContextListener listener);		
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextProvider.java
deleted file mode 100644
index 082fb37..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/IDebugContextProvider.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts.provisional;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Provides debug context context information for a part.
- * Provides change notification as the active context is changed,
- * or as the active context changes state. 
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.2
- */
-public interface IDebugContextProvider {
-	
-	/**
-	 * Returns the part associated with this provider.
-	 * 
-	 * @return the part for which active context information is being provided
-	 */
-	public IWorkbenchPart getPart();
-	
-    /**
-     * Registers the given listener for context notifications.
-     * 
-     * @param listener context listener
-     */
-	public void addDebugContextListener(IDebugContextListener listener);
-    
-    /**
-     * Deregisters the given listener for context notifications.
-     * 
-     * @param listener context listener
-     */
-	public void removeDebugContextListener(IDebugContextListener listener);
-	
-    /**
-     * Returns the currently active context, possibly empty or <code>null</code>.
-     * 
-     * @return active context, possibly empty or <code>null</code>.
-     */
-	public ISelection getActiveContext();
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISourceDisplayAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISourceDisplayAdapter.java
deleted file mode 100644
index 2c15b82..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISourceDisplayAdapter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts.provisional;
-
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * An adpater that is capable of displaying source for an object.
- * The adapter is obtained from an object in a debug context.
- * 
- * @since 3.2
- */
-public interface ISourceDisplayAdapter {
-	
-	/**
-	 * Displays source for the given context in the specified page.
-	 * 
-	 * @param context debug context to display source for
-	 * @param page the page in which to display source
-	 * @param forceSourceLookup whether source lookup should be performed
-	 */
-	public void displaySource(Object context, IWorkbenchPage page, boolean forceSourceLookup);
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerAdapter.java
deleted file mode 100644
index f26aa94..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerAdapter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts.provisional;
-
-/**
- * Adapter retrieved from an <code>ILaunch</code> that notifies
- * listeners when it suspends at a context where debugging should
- * be initiated by the user. For example, when a breakpoint is encountered.
- * <p>
- * It is important that the same instance of a suspend trigger adapter is
- * returned each time it is asked for the same object, such that listeners
- * can be added and removed from the same instance. When a listener is removed
- * and no more listeners are registered, this trigger can be disposed or replaced
- * with a new adapter the next time one is requested. 
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.2
- */
-public interface ISuspendTriggerAdapter {
-	
-    /**
-     * Registers the given listener for suspend notifications.
-     * 
-     * @param listener suspend listener
-     */
-	public void addSuspendTriggerListener(ISuspendTriggerListener listener);
-    
-    /**
-     * Deregisters the given listener for suspend notifications.
-     * 
-     * @param listener suspend listener
-     */
-	public void removeSuspendTriggerListener(ISuspendTriggerListener listener);
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerListener.java
deleted file mode 100644
index d60be93..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts.provisional;
-
-import org.eclipse.debug.core.ILaunch;
-
-/**
- * Listeners are notified when a launch has suspended at a context
- * where debugging should being. For example, at a breakpoint.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.2
- */
-public interface ISuspendTriggerListener {
-	
-	/**
-	 * Notification the given launch has suspended at the
-	 * specified context.
-	 * 
-	 * @param launch
-	 * @param context
-	 */
-	public void suspended(ILaunch launch, Object context);
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java
deleted file mode 100644
index 04d3f99..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.LazyModelPresentation;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.ILabelRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.views.launch.DebugElementHelper;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Asynchronous label adapter for debug elements.
- * 
- * @since 3.2
- */
-public class AsynchronousDebugLabelAdapter extends AsynchronousLabelAdapter {
-	      
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#computeLabels(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext, org.eclipse.debug.ui.viewers.ILabelRequestMonitor)
-	 */
-	protected void computeLabels(Object element, IPresentationContext context, ILabelRequestMonitor monitor) {
-    	DelegatingModelPresentation presentation = DebugElementHelper.getPresentation();
-    	// Honor view specific settings in a debug view by copying model presentation settings
-    	// into the debug element helper's presentation before we get the label. This allows
-    	// for qualified name and type name settings to remain in tact.
-    	if (element instanceof IDebugElement && context.getPart() instanceof IDebugView) {
-    		IWorkbenchPart part = context.getPart();
-    		if (part instanceof IDebugView) {
-    			IDebugModelPresentation pres = ((IDebugView)part).getPresentation(((IDebugElement)element).getModelIdentifier());
-    			Map settings = null;
-	    		synchronized (presentation) {
-	    			if (pres instanceof DelegatingModelPresentation) {
-	    				settings = ((DelegatingModelPresentation)pres).getAttributes();
-	    			} else if (pres instanceof LazyModelPresentation) {
-	    				settings = ((LazyModelPresentation)pres).getAttributes();
-	    			}
-	    			if (settings != null) {
-			    		Iterator iterator = settings.entrySet().iterator();
-			    		while (iterator.hasNext()) {
-			    			Map.Entry entry = (Entry) iterator.next();
-			    			presentation.setAttribute((String) entry.getKey(), entry.getValue());
-			    		}
-			        	super.computeLabels(element, context, monitor);
-			        	return;
-	    			}
-	    		}
-	    	}
-		}
-    	super.computeLabels(element, context, monitor);
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getLabels(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
-	 */
-	protected String[] getLabels(Object element, IPresentationContext context) throws CoreException {
-		return new String[] {DebugElementHelper.getLabel(element)};
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getImageDescriptors(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
-	 */
-	protected ImageDescriptor[] getImageDescriptors(Object element, IPresentationContext context) throws CoreException {
-		return new ImageDescriptor[] {DebugElementHelper.getImageDescriptor(element)};
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getFontDatas(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
-	 */
-	protected FontData[] getFontDatas(Object element, IPresentationContext context) throws CoreException {
-		FontData[] datas = new FontData[getNumElements(context)];
-		Arrays.fill(datas, DebugElementHelper.getFont(element));
-		return datas;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getForegrounds(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
-	 */
-	protected RGB[] getForegrounds(Object element, IPresentationContext context) throws CoreException {
-		RGB[] rgbs = new RGB[getNumElements(context)];
-		Arrays.fill(rgbs, DebugElementHelper.getForeground(element));
-		return rgbs;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getBackgrounds(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
-	 */
-	protected RGB[] getBackgrounds(Object element, IPresentationContext context) throws CoreException {
-		RGB[] rgbs = new RGB[getNumElements(context)];
-		Arrays.fill(rgbs, DebugElementHelper.getBackground(element));
-		return rgbs;
-	}
-	
-	/**
-	 * Returns the number of columns in the given presentation context, or 1
-	 * if there are no columns.
-	 * 
-	 * @param context presentation context
-	 * @return number of columns or 1 if none
-	 */
-	protected int getNumElements(IPresentationContext context) {
-		String[] columns = context.getColumns();
-		if (columns == null) {
-			return 1;
-		} 
-		return columns.length;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DebugTargetContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DebugTargetContentAdapter.java
deleted file mode 100644
index 1cf2361..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DebugTargetContentAdapter.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class DebugTargetContentAdapter extends AsynchronousContentAdapter {
-
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter#getChildren(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
-     */
-	protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-		String id = context.getPart().getSite().getId();
-		if (id.equals(IDebugUIConstants.ID_DEBUG_VIEW))
-			return ((IDebugTarget) parent).getThreads();
-		else if (id.equals(IDebugUIConstants.ID_MEMORY_VIEW))
-        {
-			if (parent instanceof IMemoryBlockRetrieval)
-			{
-        		return DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks((IMemoryBlockRetrieval)parent);
-			}
-        }
-		return EMPTY;
-	}
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter#hasChildren(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
-     */
-	protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-		String id = context.getPart().getSite().getId();
-		if (id.equals(IDebugUIConstants.ID_DEBUG_VIEW))
-			return ((IDebugTarget)element).hasThreads();
-		if (id.equals(IDebugUIConstants.ID_MEMORY_VIEW))
-        {
-			if (element instanceof IMemoryBlockRetrieval)
-			{
-				if (((IMemoryBlockRetrieval)element).supportsStorageRetrieval())
-        			return DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks((IMemoryBlockRetrieval)element).length > 0;
-			}
-        }
-		return false;
-	}
-
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter#supportsPartId(java.lang.String)
-     */
-	protected boolean supportsPartId(String id) {
-		return IDebugUIConstants.ID_DEBUG_VIEW.equals(id) || IDebugUIConstants.ID_MEMORY_VIEW.equals(id);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultVariableCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultVariableCellModifier.java
deleted file mode 100644
index 274e95a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultVariableCellModifier.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.VariableValueEditorManager;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.actions.IVariableValueEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * @since 3.2
- *
- */
-public class DefaultVariableCellModifier implements ICellModifier {
-	
-	private IPresentationContext fContext;
-	
-	public DefaultVariableCellModifier(IPresentationContext context) {
-		fContext = context;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
-	 */
-	public boolean canModify(Object element, String property) {
-		if (VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property)) {
-			if (element instanceof IVariable) {
-				return ((IVariable) element).supportsValueModification();
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)
-	 */
-	public Object getValue(Object element, String property) {
-		if (VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property)) {
-			if (element instanceof IVariable) {
-				IVariable variable = (IVariable) element;
-				try {
-					return variable.getValue().getValueString();
-				} catch (DebugException e) {
-					DebugUIPlugin.log(e);
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (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) {
-		Object oldValue = getValue(element, property);
-        if (!value.equals(oldValue)) {
-        	if (VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property)) {
-				if (element instanceof IVariable) {
-					IVariable variable = (IVariable) element;
-					IVariableValueEditor editor = VariableValueEditorManager.getDefault().getVariableValueEditor(variable.getModelIdentifier());
-					Shell shell = null;
-					IWorkbenchPart part = fContext.getPart();
-					if (part != null) {
-						shell = part.getSite().getShell();
-					}
-					if (editor != null) {
-						if  (editor.saveVariable(variable, (String) value, shell)) {
-							return;
-						}
-					}
-					try {
-						variable.setValue((String) value);
-					} catch (DebugException e) {
-						DebugUIPlugin.errorDialog(shell, Messages.VariableColumnPresentation_4, Messages.VariableColumnPresentation_5, e.getStatus());
-					}
-				}
-	        }
-		}
-	}
-	
-	/**
-	 * Returns the context in which this cell modifier is being used.
-	 * 
-	 * @return presentation context
-	 */
-	protected IPresentationContext getPresentationContext() {
-		return fContext;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionContentAdapter.java
deleted file mode 100644
index 35f2101..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionContentAdapter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-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.internal.ui.viewers.provisional.IPresentationContext;
-
-/**
- *
- */
-public class ExpressionContentAdapter extends VariableContentAdapter {
-
-    protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-        if (parent instanceof IErrorReportingExpression) {
-            IErrorReportingExpression expression = (IErrorReportingExpression) parent;
-            if (expression.hasErrors()) {
-                return expression.getErrorMessages();
-            }
-        }
-
-        if (parent instanceof IExpression) {
-            IExpression expression = (IExpression) parent;
-            IValue value = expression.getValue();
-            if (value != null) {
-                return getValueChildren(expression, value, context);
-            }
-        }
-        
-        return EMPTY;
-    }
-    
-    protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-        if (element instanceof IErrorReportingExpression) {
-            IErrorReportingExpression expression = (IErrorReportingExpression) element;
-            if (expression.hasErrors()) {
-                return true;
-            }
-        }
-        
-        if (element instanceof IExpression) {
-            IValue value = ((IExpression) element).getValue();
-            if (value != null) {
-                return value.hasVariables();
-            }
-        }
-        
-        return false;
-    }	
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionLabelAdapter.java
deleted file mode 100644
index f586413..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionLabelAdapter.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IErrorReportingExpression;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.swt.graphics.RGB;
-
-public class ExpressionLabelAdapter extends VariableLabelAdapter {
-
-    protected RGB[] getForegrounds(Object element, IPresentationContext context) throws CoreException {
-        if (element instanceof IErrorReportingExpression) {
-            IErrorReportingExpression expression = (IErrorReportingExpression) element;
-            if (expression.hasErrors()) {
-                return new RGB[] { new RGB(255, 0, 0) };
-            }
-        }
-        return super.getForegrounds(element, context);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionManagerContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionManagerContentAdapter.java
deleted file mode 100644
index f52b40a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionManagerContentAdapter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class ExpressionManagerContentAdapter extends AsynchronousContentAdapter {
-
-    protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-		return ((IExpressionManager) parent).getExpressions();
-	}
-
-	protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-		return ((IExpressionManager)element).hasExpressions();
-	}
-    
-	protected boolean supportsPartId(String id) {
-		return id.equals(IDebugUIConstants.ID_EXPRESSION_VIEW);
-	}  
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LauchManagerContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LauchManagerContentAdapter.java
deleted file mode 100644
index a42e406..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LauchManagerContentAdapter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class LauchManagerContentAdapter extends AsynchronousContentAdapter {
-
-    protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-		return ((ILaunchManager) parent).getLaunches();
-	}
-
-	protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-		return ((ILaunchManager)element).getLaunches().length > 0;
-	}
-    
-	protected boolean supportsPartId(String id) {
-		return IDebugUIConstants.ID_DEBUG_VIEW.equals(id);
-	}    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LaunchContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LaunchContentAdapter.java
deleted file mode 100644
index 67eda6a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LaunchContentAdapter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class LaunchContentAdapter extends AsynchronousContentAdapter {
-	protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-		return ((ILaunch) parent).getChildren();
-	}
-
-	protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-		return ((ILaunch)element).hasChildren();
-	}
-	
-	protected boolean supportsPartId(String id) {
-		return IDebugUIConstants.ID_DEBUG_VIEW.equals(id);
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java
deleted file mode 100644
index 890ee29..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java
+++ /dev/null
@@ -1,472 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Vector;
-
-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.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.memory.provisional.AbstractAsyncTableRendering;
-import org.eclipse.debug.internal.ui.memory.provisional.MemoryViewPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.internal.ui.views.memory.renderings.MemorySegment;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingContentDescriptor;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-
-public class MemoryBlockContentAdapter extends AsynchronousContentAdapter {
-
-	// Cache to allow the content provider to comppute change information
-	// Cache is taken by copying the lineCache after a suspend event
-	// or change event from the the memory block.
-	protected Hashtable contentCache;
-	
-	public MemoryBlockContentAdapter()
-	{
-		contentCache = new Hashtable();
-	}
-
-	protected Object[] getChildren(Object parent, IPresentationContext context)
-			throws CoreException {
-		
-		if (!(parent instanceof IMemoryBlock))
-			return new Object[0];
-		
-		if (!(context instanceof MemoryViewPresentationContext))
-			return new Object[0];
-		
-		MemoryViewPresentationContext memoryViewContext = (MemoryViewPresentationContext)context; 
-		IMemoryRendering rendering = memoryViewContext.getRendering();
-		
-		if (!(rendering instanceof AbstractAsyncTableRendering))
-			return new Object[0];
-			
-		try 
-		{
-			return getMemoryFromMemoryBlock(memoryViewContext);
-		} catch (DebugException e) {
-			throw e;
-		}			
-
-	}
-
-	protected boolean hasChildren(Object element, IPresentationContext context)
-			throws CoreException {
-		
-		if (context instanceof MemoryViewPresentationContext)
-		{
-			if (((MemoryViewPresentationContext)context).getRendering() != null)
-				return true;
-		}
-		
-		return false;
-	}
-
-	protected boolean supportsPartId(String id) {
-		return true;
-	}
-	
-	
-	private Object[] getMemoryFromMemoryBlock(MemoryViewPresentationContext context) throws DebugException {
-		IMemoryBlock memoryBlock = context.getRendering().getMemoryBlock();
-		if (memoryBlock instanceof IMemoryBlockExtension)
-		{
-			return loadContentForExtendedMemoryBlock(context);
-		}
-
-		return loadContentForSimpleMemoryBlock(context);
-		
-	}
-
-	/**
-	 * @throws DebugException
-	 */
-	public Object[] loadContentForSimpleMemoryBlock(MemoryViewPresentationContext context) throws DebugException {
-		AbstractAsyncTableRendering rendering = getTableRendering(context);
-		if (rendering != null)
-		{
-			IMemoryBlock memoryBlock = rendering.getMemoryBlock();
-			long startAddress = memoryBlock.getStartAddress();
-			BigInteger address = BigInteger.valueOf(startAddress);
-			long length = memoryBlock.getLength();
-			long numLines = length / rendering.getBytesPerLine();
-			return getMemoryToFitTable(address, numLines,  context);
-		}
-		return EMPTY;
-	}
-
-	/**
-	 * @throws DebugException
-	 */
-	public Object[] loadContentForExtendedMemoryBlock(MemoryViewPresentationContext context) throws DebugException {
-		
-		AbstractAsyncTableRendering rendering = getTableRendering(context);
-		if (rendering != null)
-		{
-			TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)rendering.getAdapter(TableRenderingContentDescriptor.class);
-			
-			if (descriptor == null)
-				return new Object[0];
-			
-			// calculate top buffered address
-			BigInteger loadAddress = descriptor.getLoadAddress();
-			if (loadAddress == null)
-			{
-				loadAddress = new BigInteger("0"); //$NON-NLS-1$
-			}
-			
-			BigInteger mbStart = descriptor.getStartAddress();
-			BigInteger mbEnd = descriptor.getEndAddress();
-			
-			// check that the load address is within range
-			if (loadAddress.compareTo(mbStart) < 0 || loadAddress.compareTo(mbEnd) > 0)
-			{
-				// default load address to memory block base address
-				loadAddress = ((IMemoryBlockExtension)descriptor.getMemoryBlock()).getBigBaseAddress();
-				descriptor.setLoadAddress(loadAddress);
-			}
-			
-			// if address is still out of range, throw an exception
-			if (loadAddress.compareTo(mbStart) < 0 || loadAddress.compareTo(mbEnd) > 0)
-			{
-				throw new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.TableRenderingContentProvider_0 + loadAddress.toString(16), null));
-			}
-			
-			int addressableUnitsPerLine = rendering.getAddressableUnitPerLine();
-			BigInteger bufferStart = loadAddress.subtract(BigInteger.valueOf(descriptor.getPreBuffer()*addressableUnitsPerLine));
-			BigInteger bufferEnd = loadAddress.add(BigInteger.valueOf(descriptor.getPostBuffer()*addressableUnitsPerLine));
-			bufferEnd = bufferEnd.add(BigInteger.valueOf(descriptor.getNumLines()*addressableUnitsPerLine));
-			
-			// TODO:  should rely on input to tell us what to load
-			// instead of having the content adapter override the setting
-			if (descriptor.isDynamicLoad())
-			{
-				if (bufferStart.compareTo(mbStart) < 0)
-					bufferStart = mbStart;
-				
-				if (bufferEnd.compareTo(mbEnd) > 0)
-					bufferEnd = mbEnd;
-				
-				// buffer end must be greater than buffer start
-				if (bufferEnd.compareTo(bufferStart) <= 0)
-					throw new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.TableRenderingContentProvider_1, null));
-				
-				int numLines = bufferEnd.subtract(bufferStart).divide(BigInteger.valueOf(addressableUnitsPerLine)).intValue()+1;		
-				// get stoarage to fit the memory view tab size
-				return getMemoryToFitTable(bufferStart, numLines,context);
-			}
-			else
-			{
-				if (bufferStart.compareTo(mbStart) < 0)
-					bufferStart = mbStart;
-				
-				if (bufferEnd.compareTo(mbEnd) > 0)
-				{
-					bufferStart = mbEnd.subtract(BigInteger.valueOf((descriptor.getNumLines()-1)*addressableUnitsPerLine));
-				}
-				
-				// buffer end must be greater than buffer start
-				if (bufferEnd.compareTo(bufferStart) <= 0)
-					throw new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.TableRenderingContentProvider_2, null));
-				
-				int numLines = descriptor.getNumLines();	
-				// get stoarage to fit the memory view tab size
-				return getMemoryToFitTable(bufferStart, numLines,  context);
-			}
-		}
-		return EMPTY;
-	}
-	
-	/**
-	 * Get memory to fit table
-	 * @param startingAddress
-	 * @param numberOfLines
-	 * @param updateDelta
-	 * @throws DebugException
-	 */
-	public Object[]  getMemoryToFitTable(BigInteger startAddress, long numberOfLines, MemoryViewPresentationContext context) throws DebugException
-	{
-		AbstractAsyncTableRendering tableRendering = getTableRendering(context);	
-		if (tableRendering == null)
-		{
-			DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.MemoryViewContentProvider_Unable_to_retrieve_content, null));
-			throw e;
-		}
-		
-		TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)tableRendering.getAdapter(TableRenderingContentDescriptor.class);
-		if(descriptor == null)
-			return new Object[0];
-		
-		// do not ask for memory from memory block if the debug target
-		// is already terminated
-		IDebugTarget target = descriptor.getMemoryBlock().getDebugTarget();
-		
-		if (target.isDisconnected() || target.isTerminated())
-			return new Object[0];
-		
-		boolean error = false;
-		DebugException dbgEvt = null;
-		
-		String adjustedAddress = startAddress.toString(16);
-
-		// align to the closest boundary based on addressable size per line
-		if (descriptor.isAlignAddressToBoundary() &&  descriptor.getMemoryBlock() instanceof IMemoryBlockExtension)
-		{
-			startAddress = MemoryViewUtil.alignToBoundary(startAddress, tableRendering.getAddressableUnitPerLine());
-		}
-
-		IMemoryBlockExtension extMemoryBlock = null;
-		MemoryByte[] memoryBuffer = null;
-		
-		long reqNumBytes = 0;
-		try
-		{
-			
-			if (descriptor.getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				reqNumBytes = tableRendering.getBytesPerLine() * numberOfLines;
-				// get memory from memory block
-				extMemoryBlock = (IMemoryBlockExtension) descriptor.getMemoryBlock();
-				
-				long reqNumberOfUnits = tableRendering.getAddressableUnitPerLine() * numberOfLines;
-						
-				memoryBuffer =	extMemoryBlock.getBytesFromAddress(startAddress,	reqNumberOfUnits);
-		
-				if(memoryBuffer == null)
-				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.MemoryViewContentProvider_Unable_to_retrieve_content, null));
-					throw e;
-				}
-			}
-			else 
-			{				
-				// get memory from memory block
-				byte[] memory = descriptor.getMemoryBlock().getBytes();
-				
-				if (memory == null)
-				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.MemoryViewContentProvider_Unable_to_retrieve_content, null));	
-					throw e;					
-				}
-				
-				int prefillNumBytes = 0;
-				
-				// number of bytes need to prefill
-				if (!startAddress.toString(16).endsWith("0")) //$NON-NLS-1$
-				{
-					adjustedAddress = startAddress.toString(16).substring(0, adjustedAddress.length() - 1);
-					adjustedAddress += "0"; //$NON-NLS-1$
-					BigInteger adjustedStart = new BigInteger(adjustedAddress, 16);
-					prefillNumBytes = startAddress.subtract(adjustedStart).intValue();
-					startAddress = adjustedStart;
-				}
-				reqNumBytes = descriptor.getMemoryBlock().getLength() + prefillNumBytes;
-				
-				// figure out number of dummy bytes to append
-				while (reqNumBytes % tableRendering.getBytesPerLine() != 0)
-				{
-					reqNumBytes ++;
-				}
-				
-				numberOfLines = reqNumBytes / tableRendering.getBytesPerLine();
-				
-				// create memory byte for IMemoryBlock
-				memoryBuffer = new MemoryByte[(int)reqNumBytes];
-				
-				// prefill buffer to ensure double-word alignment
-				for (int i=0; i<prefillNumBytes; i++)
-				{
-					MemoryByte tmp = new MemoryByte();
-					tmp.setValue((byte)0);
-					tmp.setWritable(false);
-					tmp.setReadable(false);
-					tmp.setEndianessKnown(false);
-					memoryBuffer[i] = tmp;
-				}
-				
-				// fill buffer with memory returned by debug adapter
-				int j = prefillNumBytes; 							// counter for memoryBuffer
-				for (int i=0; i<memory.length; i++)
-				{
-					MemoryByte tmp = new MemoryByte();
-					tmp.setValue(memory[i]);
-					tmp.setReadable(true);
-					tmp.setWritable(true);
-					tmp.setEndianessKnown(false);
-					memoryBuffer[j] = tmp;
-					j++;
-				}
-				
-				// append to buffer to fill up the entire line
-				for (int i=j; i<memoryBuffer.length; i++)
-				{
-					MemoryByte tmp = new MemoryByte();
-					tmp.setValue((byte)0);
-					tmp.setWritable(false);
-					tmp.setReadable(false);
-					tmp.setEndianessKnown(false);
-					memoryBuffer[i] = tmp;
-				}
-			}
-		}
-		catch (DebugException e)
-		{
-			memoryBuffer = makeDummyContent(numberOfLines, tableRendering.getBytesPerLine());
-			
-			// finish creating the content provider before throwing an event
-			error = true; 
-			dbgEvt = e;
-		}
-		catch (Throwable e)
-		{
-			// catch all errors from this process just to be safe
-			memoryBuffer = makeDummyContent(numberOfLines, tableRendering.getBytesPerLine());
-			
-			// finish creating the content provider before throwing an event
-			error = true; 
-			dbgEvt = new DebugException(DebugUIPlugin.newErrorStatus(e.getMessage(), 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++)
-			{
-				MemoryByte mb = new MemoryByte();
-				mb.setReadable(false);
-				mb.setWritable(false);
-				mb.setEndianessKnown(false);
-				newBuffer.add(mb);
-			}
-			
-			memoryBuffer = (MemoryByte[])newBuffer.toArray(new MemoryByte[newBuffer.size()]);
-			
-		}
-
-		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 (descriptor.getMemoryBlock() instanceof IMemoryBlockExtension)
-		{
-			manageDelta = !((IMemoryBlockExtension)descriptor.getMemoryBlock()).supportsChangeManagement();
-		}
-			
-		if (error){
-			throw dbgEvt;
-		}
-		
-		// put memory information into MemoryViewLine
-		return organizeLines(numberOfLines, memoryBuffer, startAddress, manageDelta, context);
-		
-
-	}
-
-	private Object[] organizeLines(long numberOfLines,  MemoryByte[] memoryBuffer, BigInteger address, boolean manageDelta, MemoryViewPresentationContext context) 
-	{
-		Vector lineCache = new Vector();
-		IMemoryRendering rendering = context.getRendering();
-		if (!(rendering instanceof AbstractAsyncTableRendering))
-			return lineCache.toArray();
-		
-		AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)rendering;
-		int addressableUnit = tableRendering.getBytesPerLine()/tableRendering.getAddressableSize();
-		
-		for (int i = 0; i < numberOfLines; i++)
-		{   
-			int bytesPerLine = tableRendering.getBytesPerLine();
-			MemoryByte[] memory = new MemoryByte[bytesPerLine];
-			
-			// 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 * bytesPerLine;
-				j < i * bytesPerLine + bytesPerLine;
-				j++)
-			{
-				
-				byte changeFlag = memoryBuffer[j].getFlags();
-				if (manageDelta)
-				{
-					// turn off both change and known bits to make sure that
-					// the change bits returned by debug adapters do not take
-					// any effect
-					
-					changeFlag |= MemoryByte.HISTORY_KNOWN;
-					changeFlag ^= MemoryByte.HISTORY_KNOWN;
-					
-					changeFlag |= MemoryByte.CHANGED;
-					changeFlag ^= MemoryByte.CHANGED;
-				}
-				
-				MemoryByte newByteObj = new MemoryByte(memoryBuffer[j].getValue(), changeFlag);
-				memory[k] =  newByteObj;
-				k++;
-			}
-			
-			MemorySegment newLine = new MemorySegment(address, memory, addressableUnit);
-			lineCache.add(newLine);
-			address = address.add(BigInteger.valueOf(addressableUnit));
-		}
-		return lineCache.toArray();
-	}
-	
-	/**
-	 * @param numberOfLines
-	 * @return an array of dummy MemoryByte
-	 */
-	private MemoryByte[] makeDummyContent(long numberOfLines, int bytesPerLine) {
-		MemoryByte[] memoryBuffer;
-		// make up dummy memory, needed for recovery in case the debug adapter
-		// is capable of retrieving memory again
-
-		int numBytes = (int)(bytesPerLine * numberOfLines);
-		memoryBuffer = new MemoryByte[numBytes];
-		
-		for (int i=0; i<memoryBuffer.length; i++){
-			memoryBuffer[i] = new MemoryByte();
-			memoryBuffer[i].setValue((byte)0);
-			memoryBuffer[i].setWritable(false);
-			memoryBuffer[i].setReadable(false);
-			memoryBuffer[i].setEndianessKnown(false);
-		}
-		return memoryBuffer;
-	}
-	
-	protected AbstractAsyncTableRendering getTableRendering(MemoryViewPresentationContext context)
-	{
-		IMemoryRendering memRendering = context.getRendering();
-		if (memRendering != null && memRendering instanceof AbstractAsyncTableRendering)
-		{
-			return (AbstractAsyncTableRendering)memRendering;
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockLabelAdapter.java
deleted file mode 100644
index 3da0ce5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockLabelAdapter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class MemoryBlockLabelAdapter extends AsynchronousDebugLabelAdapter {
-	
-	protected ImageDescriptor[] getImageDescriptors(Object element, IPresentationContext context) throws CoreException {
-		if (element instanceof IMemoryBlock)
-			return new ImageDescriptor[]{DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_OBJS_VARIABLE)};
-		
-		return new ImageDescriptor[0];
-	}
-
-	/**
-	 * @param memoryBlockLabel
-	 * @return
-	 */
-	private String getLabel(IMemoryBlock memoryBlock) {
-		
-		String memoryBlockLabel = " "; //$NON-NLS-1$
-		if (memoryBlock instanceof IMemoryBlockExtension)
-		{
-			// simply return the expression without the address
-			// do not want to keep track of changes in the address
-			if (((IMemoryBlockExtension)memoryBlock).getExpression() != null)
-			{
-				memoryBlockLabel += ((IMemoryBlockExtension)memoryBlock).getExpression();
-			}
-		}
-		else
-		{
-			long address = memoryBlock.getStartAddress();
-			memoryBlockLabel = Long.toHexString(address);
-		}
-		return memoryBlockLabel;
-	}
-
-	protected String[] getLabels(Object element, IPresentationContext context) throws CoreException {
-		if (element instanceof IMemoryBlock)
-			return new String[]{getLabel((IMemoryBlock)element)};
-		return super.getLabels(element, context);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryRetrievalContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryRetrievalContentAdapter.java
deleted file mode 100644
index 2e1595f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryRetrievalContentAdapter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class MemoryRetrievalContentAdapter extends AsynchronousContentAdapter{
-
-	protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-		String id = context.getPart().getSite().getId();
-		if (id.equals(IDebugUIConstants.ID_MEMORY_VIEW))
-        {
-			if (parent instanceof IMemoryBlockRetrieval)
-			{
-        		return DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks((IMemoryBlockRetrieval)parent);
-			}
-        }
-		return EMPTY;
-	}
-
-	protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-		String id = context.getPart().getSite().getId();
-		if (id.equals(IDebugUIConstants.ID_MEMORY_VIEW))
-        {
-			if (element instanceof IMemoryBlockRetrieval)
-			{
-				if (((IMemoryBlockRetrieval)element).supportsStorageRetrieval())
-        			return DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks((IMemoryBlockRetrieval)element).length > 0;
-			}
-        }
-        return false;
-	}
-
-	protected boolean supportsPartId(String id) {
-		return id.equals(IDebugUIConstants.ID_MEMORY_VIEW);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java
deleted file mode 100644
index 5f93411..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import java.math.BigInteger;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.MemoryByte;
-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.memory.provisional.AbstractAsyncTableRendering;
-import org.eclipse.debug.internal.ui.memory.provisional.MemoryViewPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.views.launch.DebugElementHelper;
-import org.eclipse.debug.internal.ui.views.memory.renderings.AbstractBaseTableRendering;
-import org.eclipse.debug.internal.ui.views.memory.renderings.MemorySegment;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingContentDescriptor;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.IMemoryBlockTablePresentation;
-import org.eclipse.debug.ui.memory.MemoryRenderingElement;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-
-public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
-
-	protected String[] getLabels(Object element, IPresentationContext context)
-			throws CoreException {
-		
-		if (context instanceof MemoryViewPresentationContext)
-		{
-			MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
-			if (tableRenderingContext.getRendering() != null && tableRenderingContext.getRendering() instanceof AbstractAsyncTableRendering)
-			{
-				AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
-				TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)tableRendering.getAdapter(TableRenderingContentDescriptor.class);
-				if (descriptor != null)
-				{
-					String addressStr = getColumnText(element, 0, tableRendering, descriptor);
-					int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-					
-					String[] labels = new String[numColumns+2];
-					labels[0] = addressStr;
-					
-					for (int i=0; i<=numColumns; i++)
-					{
-						labels[i+1] = getColumnText(element, i+1, tableRendering, (TableRenderingContentDescriptor)tableRendering.getAdapter(TableRenderingContentDescriptor.class));
-					}
-					
-					labels[labels.length - 1 ] = ""; //$NON-NLS-1$
-					return labels;
-				}
-			}
-		}
-		return new String[0];
-	}
-	
-	private String getColumnText(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering, TableRenderingContentDescriptor descriptor) {
-		String columnLabel = null;
-
-		if (columnIndex == 0)
-		{
-			IMemoryBlockTablePresentation presentation = (IMemoryBlockTablePresentation)tableRendering.getMemoryBlock().getAdapter(IMemoryBlockTablePresentation.class);
-			if (presentation != null)
-			{
-				String rowLabel = presentation.getRowLabel(tableRendering.getMemoryBlock(), ((MemorySegment)element).getAddress());
-				if (rowLabel != null)
-					return rowLabel;
-			}
-			
-			columnLabel = ((MemorySegment)element).getAddress().toString(16).toUpperCase();
-			
-			int addressSize = descriptor.getAddressSize();
-			int prefillLength = addressSize * 2 - columnLabel.length();
-			StringBuffer buf = new StringBuffer();
-			if (prefillLength > 0)
-			{
-				for (int i=0; i<prefillLength; i++)
-				{
-					buf.append("0"); //$NON-NLS-1$
-				}
-			}
-			buf.append(columnLabel);
-			return buf.toString();
-			
-		}
-		else if (columnIndex > (tableRendering.getBytesPerLine()/tableRendering.getBytesPerColumn()))
-		{
-			columnLabel = " "; //$NON-NLS-1$
-		}
-		else
-		{	
-			if (element instanceof MemorySegment)
-			{
-				MemorySegment segment = (MemorySegment)element;
-				if (segment.getBytes().length != tableRendering.getBytesPerLine())
-					return ""; //$NON-NLS-1$
-			}
-			
-			ILabelProvider labelProvider = (ILabelProvider)tableRendering.getAdapter(ILabelProvider.class);
-			if (labelProvider != null && columnIndex > 0)
-			{
-				MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex, tableRendering);
-				if (renderingElement != null) {
-					String label = labelProvider.getText(renderingElement);
-					if (label != null)
-						return label;
-				}			
-			}
-			
-			int start = (columnIndex-1)*tableRendering.getBytesPerColumn();
-			MemoryByte[] bytes = ((MemorySegment)element).getBytes(start, tableRendering.getBytesPerColumn());
-			BigInteger address = ((MemorySegment)element).getAddress();
-			address = address.add(BigInteger.valueOf(start)); 
-			
-			columnLabel = tableRendering.getString(tableRendering.getRenderingId(), address, bytes);
-		}
-		return columnLabel;
-	}
-
-	protected ImageDescriptor[] getImageDescriptors(Object element,
-			IPresentationContext context) throws CoreException {
-		if (context instanceof MemoryViewPresentationContext)
-		{
-			MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
-			if (tableRenderingContext.getRendering() != null && tableRenderingContext.getRendering() instanceof AbstractAsyncTableRendering)
-			{
-				AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
-				int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-				
-				ImageDescriptor[] images = new ImageDescriptor[numColumns+2];
-				
-				for (int i=0; i<=numColumns; i++)
-				{
-					images[i] = getColumnImageDescriptor(element, i, tableRendering);
-				}
-				
-				images[images.length - 1 ] = null;
-				return images;
-			}
-		}
-		return new ImageDescriptor[0];
-	}
-	
-	private ImageDescriptor getColumnImageDescriptor(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
-	{
-		if (columnIndex == 0)
-			return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);	
-		
-		if (element instanceof MemorySegment)
-		{
-			MemorySegment segment = (MemorySegment)element;
-			if (segment.getBytes().length != tableRendering.getBytesPerLine())
-				return null;
-			
-			ILabelProvider labelProvider = (ILabelProvider)tableRendering.getAdapter(ILabelProvider.class);
-			if (labelProvider != null && columnIndex > 0)
-			{
-				MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex, tableRendering);
-				if (renderingElement != null) {
-					Image image = labelProvider.getImage(renderingElement);
-					if (image != null)
-					{
-						return DebugElementHelper.getImageDescriptor(image);
-					}
-				}			
-			}
-			
-			int start = (columnIndex-1)*tableRendering.getBytesPerColumn();
-
-			MemoryByte[] bytes = ((MemorySegment)element).getBytes(start, tableRendering.getBytesPerColumn());
-			boolean allKnown = true;
-			boolean unchanged = true;
-			for (int i=0; i<bytes.length; i++)
-			{
-				if (!bytes[i].isHistoryKnown())
-					allKnown = false;
-				
-				if (bytes[i].isChanged())
-					unchanged = false;
-			}
-			
-			if (allKnown)
-			{
-				// mark changed elements with changed icon
-				if (!unchanged)
-					return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY_CHANGED);
-				
-			}
-		}
-		return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
-	}
-
-	protected FontData[] getFontDatas(Object element,
-			IPresentationContext context) throws CoreException {
-		if (context instanceof MemoryViewPresentationContext)
-		{
-			MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
-			if (tableRenderingContext.getRendering() != null && tableRenderingContext.getRendering() instanceof AbstractAsyncTableRendering)
-			{
-				AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
-				int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-				
-				FontData[] fontData = new FontData[numColumns+2];
-
-				for (int i=0; i<fontData.length-1; i++)
-				{
-					fontData[i] = getColumnFontData(element, i, tableRendering);
-				}
-				return fontData;
-			}
-		}
-		
-		return new FontData[0];
-	}
-	
-	private FontData getColumnFontData(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering) 
-	{
-		if (element instanceof MemorySegment)
-		{	
-			MemorySegment segment = (MemorySegment)element;
-			if (segment.getBytes().length != tableRendering.getBytesPerLine())
-				return null;
-			
-			IFontProvider fontProvider = (IFontProvider)tableRendering.getAdapter(IFontProvider.class);
-			if (fontProvider != null && columnIndex > 0)
-			{
-				MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex, tableRendering);
-				if (renderingElement != null) {
-					Font font = fontProvider.getFont(renderingElement);
-					if (font != null)
-						return font.getFontData()[0];
-				}			
-			}
-		}
-		return null;
-	}
-
-	protected RGB[] getForegrounds(Object element, IPresentationContext context)
-			throws CoreException {
-		
-		if (context instanceof MemoryViewPresentationContext)
-		{
-			MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
-			if (tableRenderingContext.getRendering() != null && tableRenderingContext.getRendering() instanceof AbstractAsyncTableRendering)
-			{
-				AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
-				int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-				
-				RGB[] colors = new RGB[numColumns+2];
-
-				for (int i=0; i<colors.length-1; i++)
-				{
-					colors[i] = getColumnForeground(element, i, tableRendering);
-				}
-				
-				colors[colors.length-1] = null;
-				
-				return colors;
-			}
-		}
-
-		return new RGB[0];
-	}
-	
-	private RGB getColumnBackground(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
-	{
-		if (columnIndex == 0)
-			return null;
-		
-		if (element instanceof MemorySegment)
-		{	
-			MemorySegment segment = (MemorySegment)element;
-			if (segment.getBytes().length != tableRendering.getBytesPerLine())
-				return null;
-			
-			IColorProvider colorProvider = (IColorProvider)tableRendering.getAdapter(IColorProvider.class);
-			if (colorProvider != null && columnIndex > 0)
-			{
-				MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex, tableRendering);
-				if (renderingElement != null) {
-					Color color = colorProvider.getBackground(renderingElement);
-					if (color != null)
-						return color.getRGB();
-				}			
-			}
-		}
-		return null;
-	}
-	
-	private RGB getColumnForeground(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
-	{
-		if (columnIndex == 0)
-			return null;
-		
-		if (element instanceof MemorySegment)
-		{	
-			MemorySegment segment = (MemorySegment)element;
-			if (segment.getBytes().length != tableRendering.getBytesPerLine())
-				return null;
-			
-			IColorProvider colorProvider = (IColorProvider)tableRendering.getAdapter(IColorProvider.class);
-			if (colorProvider != null && columnIndex > 0)
-			{
-				MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex, tableRendering);
-				if (renderingElement != null) {
-					Color color = colorProvider.getForeground(renderingElement);
-					if (color != null)
-						return color.getRGB();
-				}			
-			}
-			
-			int start = (columnIndex-1)*tableRendering.getBytesPerColumn();
-			MemoryByte[] bytes = segment.getBytes(start, tableRendering.getBytesPerColumn());
-			boolean allKnown = true;
-			boolean unchanged = true;
-			for (int i=0; i<bytes.length; i++)
-			{
-				if (!bytes[i].isHistoryKnown())
-					allKnown = false;
-				
-				if (bytes[i].isChanged())
-					unchanged = false;
-			}
-			
-			if (allKnown)
-			{
-				// mark changed elements in changed color
-				if (!unchanged)
-					return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR).getRGB();				
-				
-				return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR).getRGB();
-			}
-			
-			return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR).getRGB();
-			
-		}
-		return null;
-	}
-
-	protected RGB[] getBackgrounds(Object element, IPresentationContext context)
-			throws CoreException {
-		
-		if (context instanceof MemoryViewPresentationContext)
-		{
-			MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
-			if (tableRenderingContext.getRendering() != null && tableRenderingContext.getRendering() instanceof AbstractAsyncTableRendering)
-			{
-				AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
-				int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-				
-				RGB[] colors = new RGB[numColumns+2];
-
-				for (int i=0; i<colors.length-1; i++)
-				{
-					colors[i] = getColumnBackground(element, i, tableRendering);
-				}
-				
-				colors[colors.length-1] = null;
-				
-				return colors;
-			}
-		}
-
-		return new RGB[0];
-	}
-	
-	/**
-	 * Returns a memory rendering element corresponding to the given element
-	 * or <code>null</code> if none.
-	 *  
-	 * @param element element to be rendered
-	 * @param columnIndex column index at which to render
-	 * @return memory rendering element or <code>null</code>
-	 */
-	private MemoryRenderingElement getMemoryRenderingElement(Object element, int columnIndex, AbstractBaseTableRendering rendering) {
-		if (element instanceof MemorySegment) {
-			MemorySegment line = (MemorySegment) element;
-			BigInteger address = line.getAddress();
-			int offset = (columnIndex - 1) * rendering.getBytesPerColumn();
-			if (offset < rendering.getBytesPerLine() && (offset + rendering.getBytesPerColumn()) <= rendering.getBytesPerLine()) {
-				return getMemoryRenderingElement(line, address, offset, rendering);
-			}
-		}
-		return null;
-	}
-	
-	private MemoryRenderingElement getMemoryRenderingElement(MemorySegment line, BigInteger lineAddress, int offset, AbstractBaseTableRendering rendering) {
-		BigInteger cellAddress = lineAddress.add(BigInteger.valueOf(offset));
-		MemoryByte[] bytes = line.getBytes(offset, rendering.getBytesPerColumn());
-		// make a copy to ensure that the memory bytes are not overwritten
-		// by clients
-		MemoryByte[] copy = new MemoryByte[bytes.length];
-		System.arraycopy(bytes, 0, copy, 0, bytes.length);
-		MemoryRenderingElement renderingElement = new MemoryRenderingElement(
-				rendering, cellAddress, copy);
-		return renderingElement;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.java
deleted file mode 100644
index cb62fcd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 3.2
- *
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.elements.adapters.Messages"; //$NON-NLS-1$
-
-	private Messages() {
-	}
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	public static String VariableColumnPresentation_0;
-
-	public static String VariableColumnPresentation_1;
-
-	public static String VariableColumnPresentation_2;
-
-	public static String VariableColumnPresentation_3;
-
-	public static String VariableColumnPresentation_4;
-
-	public static String VariableColumnPresentation_5;
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.properties
deleted file mode 100644
index 6c853bb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-VariableColumnPresentation_0=Declared Type
-VariableColumnPresentation_1=Name
-VariableColumnPresentation_2=Value
-VariableColumnPresentation_3=Actual Type
-VariableColumnPresentation_4=Error
-VariableColumnPresentation_5=Exception occurred modifying value
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ProcessContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ProcessContentAdapter.java
deleted file mode 100644
index 7cfbec4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ProcessContentAdapter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class ProcessContentAdapter extends AsynchronousContentAdapter {
-
-	protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-		return EMPTY;
-	}
-
-	protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-		return false;
-	}
-
-    protected boolean supportsPartId(String id) {
-		return IDebugUIConstants.ID_DEBUG_VIEW.equals(id);
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupContentAdapter.java
deleted file mode 100644
index fff4f09..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupContentAdapter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IRegisterGroup;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class RegisterGroupContentAdapter extends AsynchronousContentAdapter {
-
-	protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-		return ((IRegisterGroup)parent).getRegisters();
-	}
-
-	protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-		return ((IRegisterGroup)element).hasRegisters();
-	}
-
-	protected boolean supportsPartId(String id) {
-		return id.equals(IDebugUIConstants.ID_REGISTER_VIEW);
-	}   
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameContentAdapter.java
deleted file mode 100644
index 341bc77..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameContentAdapter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class StackFrameContentAdapter extends AsynchronousContentAdapter {
-
-    protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-        String id = context.getPart().getSite().getId();
-        IStackFrame frame = (IStackFrame) parent;
-        if (id.equals(IDebugUIConstants.ID_VARIABLE_VIEW)) {
-            return frame.getVariables();
-        } else if (id.equals(IDebugUIConstants.ID_REGISTER_VIEW)) {
-            return frame.getRegisterGroups();
-        }
-        return EMPTY;
-	}
-
-	protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-        String id = context.getPart().getSite().getId();
-        IStackFrame frame = (IStackFrame) element;
-        if (id.equals(IDebugUIConstants.ID_VARIABLE_VIEW)) {
-            return frame.hasVariables();
-        } else if (id.equals(IDebugUIConstants.ID_REGISTER_VIEW)) {
-            return frame.hasRegisterGroups();
-        }
-        return false;
-	}
-    
-	protected boolean supportsPartId(String id) {
-		return id.equals(IDebugUIConstants.ID_VARIABLE_VIEW) || id.equals(IDebugUIConstants.ID_REGISTER_VIEW);
-	}    
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameSourceDisplayAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameSourceDisplayAdapter.java
deleted file mode 100644
index 7e5f9ec..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameSourceDisplayAdapter.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-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.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-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.internal.ui.InstructionPointerManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISourceDisplayAdapter;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupResult;
-import org.eclipse.debug.internal.ui.views.launch.DecorationManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.sourcelookup.ISourceLookupResult;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * @since 3.2
- */
-public class StackFrameSourceDisplayAdapter implements ISourceDisplayAdapter {
-
-	private IStackFrame fPrevFrame;
-	private SourceLookupResult fPrevResult;
-	
-	/**
-	 * Constructs singleton source display adapter for stack frames.
-	 */
-	public StackFrameSourceDisplayAdapter() {
-		DebugPlugin.getDefault().addDebugEventListener(new IDebugEventSetListener() {
-			public void handleDebugEvents(DebugEvent[] events) {
-				for (int i = 0; i < events.length; i++) {
-					DebugEvent event = events[i];
-					switch (event.getKind()) {
-						case DebugEvent.TERMINATE:
-							clearCachedModel(event.getSource());
-							// fall thru
-						case DebugEvent.RESUME:
-							if (!event.isEvaluation()) {
-								clearSourceSelection(event.getSource());
-							}
-							break;
-					}
-				}
-			}
-		});
-	}
-	
-	
-	private SourceLookupJob fSourceLookupJob = new SourceLookupJob();
-	/**
-	 * A job to perform source lookup on the currently selected stack frame.
-	 */
-	class SourceLookupJob extends Job {
-		
-		private IStackFrame fTarget;
-		private ISourceLocator fLocator;
-		private IWorkbenchPage fPage;
-
-		/**
-		 * Constructs a new source lookup job.
-		 */
-		public SourceLookupJob() {
-			super("Debug Source Lookup");  //$NON-NLS-1$
-			setPriority(Job.INTERACTIVE);
-			setSystem(true);	
-		}
-		
-		public void setLookupInfo(IStackFrame frame, ISourceLocator locator, IWorkbenchPage page) {
-			fTarget = frame;
-			fLocator = locator;
-			fPage = page;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected IStatus run(IProgressMonitor monitor) {
-			if (!monitor.isCanceled()) {
-				IStackFrame lookupFrame = fTarget;
-				ISourceLocator lookupLocator = fLocator;
-				
-				ISourceLookupResult result = null;
-				result = DebugUITools.lookupSource(lookupFrame, lookupLocator);
-				synchronized (StackFrameSourceDisplayAdapter.this) {
-					fPrevResult = (SourceLookupResult)result;
-					fPrevFrame = lookupFrame;
-				}
-				if (!monitor.isCanceled()) {
-					fSourceDisplayJob.setDisplayInfo(result, fPage);
-					fSourceDisplayJob.schedule();
-				}
-			}
-			return Status.OK_STATUS;
-		}
-		
-	}
-	
-	private SourceDisplayJob fSourceDisplayJob = new SourceDisplayJob();
-	class SourceDisplayJob extends UIJob {
-		
-		private ISourceLookupResult fResult;
-		private IWorkbenchPage fPage;
-
-		public SourceDisplayJob() {
-			super("Debug Source Display");  //$NON-NLS-1$
-			setSystem(true);
-			setPriority(Job.INTERACTIVE);
-		}
-		
-		/**
-		 * Constructs a new source display job
-		 */
-		public synchronized void setDisplayInfo(ISourceLookupResult result, IWorkbenchPage page) {
-			fResult = result;
-			fPage = page;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public synchronized IStatus runInUIThread(IProgressMonitor monitor) {
-			if (!monitor.isCanceled()) {
-				DebugUITools.displaySource(fResult, fPage);
-			}
-			return Status.OK_STATUS;
-		}
-		
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.ISourceDisplayAdapter#displaySource(java.lang.Object, org.eclipse.ui.IWorkbenchPage, boolean)
-	 */
-	public synchronized void displaySource(Object context, IWorkbenchPage page, boolean force) {
-		IStackFrame frame = (IStackFrame)context;
-		if (!force && frame.equals(fPrevFrame)) {
-			fPrevResult.updateArtifact(context);
-			fSourceDisplayJob.setDisplayInfo(fPrevResult, page);
-			fSourceDisplayJob.schedule();
-		} else {
-			fSourceLookupJob.setLookupInfo(frame, frame.getLaunch().getSourceLocator(), page);
-			fSourceLookupJob.schedule();
-		}
-		
-	}
-	
-	/**
-	 * Deselects any source decorations associated with the given thread or
-	 * debug target.
-	 * 
-	 * @param source thread or debug target
-	 */
-	private 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);
-		}
-	}	
-	
-	/**
-	 * Clear any cached results associated with the given object.
-	 * 
-	 * @param source
-	 */
-	private synchronized void clearCachedModel(Object source) {
-		if (fPrevFrame != null) {
-			IDebugTarget target = null;
-			if (source instanceof IDebugElement) {
-				target = ((IDebugElement)source).getDebugTarget();
-			}
-			if (fPrevFrame.getDebugTarget().equals(target)) {
-				fPrevFrame = null;
-				fPrevResult = null;
-			}
-		}
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ThreadContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ThreadContentAdapter.java
deleted file mode 100644
index 5539c24..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ThreadContentAdapter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-public class ThreadContentAdapter extends AsynchronousContentAdapter {
-
-	protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-		return ((IThread) parent).getStackFrames();
-	}
-
-	protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-		return ((IThread)element).hasStackFrames();
-	}
-	
-	protected boolean supportsPartId(String id) {
-		return IDebugUIConstants.ID_DEBUG_VIEW.equals(id);
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnEditor.java
deleted file mode 100644
index 27aaac4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnEditor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractColumnEditor;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Columns for Java variables.
- * 
- * @since 3.2
- */
-public class VariableColumnEditor extends AbstractColumnEditor {
-	
-	/**
-	 * Constant identifier for the default variable column presentation.
-	 */
-	public final static String DEFAULT_VARIABLE_COLUMN_EDITOR = IDebugUIConstants.PLUGIN_ID + ".VARIALBE_COLUMN_EDITOR";  //$NON-NLS-1$
-	
-	private ICellModifier fCellModifier;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditor#getCellEditor(java.lang.String, java.lang.Object, org.eclipse.swt.widgets.Composite)
-	 */
-	public CellEditor getCellEditor(String id, Object element, Composite parent) {
-		return new TextCellEditor(parent);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditor#getCellModifier()
-	 */
-	public ICellModifier getCellModifier() {
-		if (fCellModifier == null) {
-			fCellModifier = new DefaultVariableCellModifier(getPresentationContext());
-		}
-		return fCellModifier;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditor#getId()
-	 */
-	public String getId() {
-		return DEFAULT_VARIABLE_COLUMN_EDITOR;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnFactoryAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnFactoryAdapter.java
deleted file mode 100644
index f458b45..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnFactoryAdapter.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditorFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentationFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Factory for default variable column presentation.
- * 
- * @since 3.2
- */
-public class VariableColumnFactoryAdapter implements IColumnPresentationFactoryAdapter, IColumnEditorFactoryAdapter {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresenetationFactoryAdapter#createColumnPresentation(org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext, java.lang.Object)
-	 */
-	public IColumnPresentation createColumnPresentation(IPresentationContext context, Object element) {
-		String id = context.getPart().getSite().getId();
-		if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id) || IDebugUIConstants.ID_REGISTER_VIEW.equals(id)) {
-			if (element instanceof IStackFrame) {
-				return new VariableColumnPresentation();
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresenetationFactoryAdapter#getColumnPresentationId(org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext, java.lang.Object)
-	 */
-	public String getColumnPresentationId(IPresentationContext context, Object element) {
-		String id = context.getPart().getSite().getId();
-		if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id) || IDebugUIConstants.ID_REGISTER_VIEW.equals(id)) {
-			if (element instanceof IStackFrame) {
-				return VariableColumnPresentation.DEFAULT_VARIABLE_COLUMN_PRESENTATION;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditorFactoryAdapter#createColumnEditor(org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext, java.lang.Object)
-	 */
-	public IColumnEditor createColumnEditor(IPresentationContext context, Object element) {
-		String id = context.getPart().getSite().getId();
-		if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id) || IDebugUIConstants.ID_REGISTER_VIEW.equals(id)) {
-			if (element instanceof IVariable) {
-				return new VariableColumnEditor();
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditorFactoryAdapter#getColumnEditorId(org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext, java.lang.Object)
-	 */
-	public String getColumnEditorId(IPresentationContext context, Object element) {
-		String id = context.getPart().getSite().getId();
-		if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id) || IDebugUIConstants.ID_REGISTER_VIEW.equals(id)) {
-			if (element instanceof IVariable) {
-				return VariableColumnEditor.DEFAULT_VARIABLE_COLUMN_EDITOR;
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnPresentation.java
deleted file mode 100644
index 961e340..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnPresentation.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractColumnPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Columns for Java variables.
- * 
- * @since 3.2
- */
-public class VariableColumnPresentation extends AbstractColumnPresentation {
-	
-	/**
-	 * Constant identifier for the default variable column presentation.
-	 */
-	public final static String DEFAULT_VARIABLE_COLUMN_PRESENTATION = IDebugUIConstants.PLUGIN_ID + ".VARIALBE_COLUMN_PRESENTATION";  //$NON-NLS-1$
-	
-	/**
-	 * Default column identifiers
-	 */
-	public final static String COLUMN_VARIABLE_NAME = DEFAULT_VARIABLE_COLUMN_PRESENTATION + ".COL_VAR_NAME"; //$NON-NLS-1$
-	public final static String COLUMN_VARIABLE_TYPE = DEFAULT_VARIABLE_COLUMN_PRESENTATION + ".COL_VAR_TYPE"; //$NON-NLS-1$
-	public final static String COLUMN_VARIABLE_VALUE = DEFAULT_VARIABLE_COLUMN_PRESENTATION + ".COL_VAR_VALUE"; //$NON-NLS-1$
-	public final static String COLUMN_VALUE_TYPE = DEFAULT_VARIABLE_COLUMN_PRESENTATION + ".COL_VALUE_TYPE"; //$NON-NLS-1$
-	
-	private static final String[] ALL_COLUMNS = new String[]{COLUMN_VARIABLE_NAME, COLUMN_VARIABLE_TYPE, COLUMN_VARIABLE_VALUE, COLUMN_VALUE_TYPE};
-	private static final String[] INITIAL_COLUMNS = new String[]{COLUMN_VARIABLE_NAME, COLUMN_VARIABLE_VALUE}; 
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#getColumns()
-	 */
-	public String[] getAvailableColumns() {
-		return ALL_COLUMNS;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#getHeader(java.lang.String)
-	 */
-	public String getHeader(String id) {
-		if (COLUMN_VARIABLE_TYPE.equals(id)) {
-			return Messages.VariableColumnPresentation_0;
-		}
-		if (COLUMN_VARIABLE_NAME.equals(id)) {
-			return Messages.VariableColumnPresentation_1;
-		}
-		if (COLUMN_VARIABLE_VALUE.equals(id)) {
-			return Messages.VariableColumnPresentation_2;
-		}
-		if (COLUMN_VALUE_TYPE.equals(id)) {
-			return Messages.VariableColumnPresentation_3;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#getId()
-	 */
-	public String getId() {
-		return DEFAULT_VARIABLE_COLUMN_PRESENTATION;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#getInitialColumns()
-	 */
-	public String[] getInitialColumns() {
-		return INITIAL_COLUMNS;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#isOptional()
-	 */
-	public boolean isOptional() {
-		return true;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableContentAdapter.java
deleted file mode 100644
index ff7a7a0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableContentAdapter.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import java.util.ArrayList;
-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.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.views.variables.IndexedVariablePartition;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class VariableContentAdapter extends AsynchronousContentAdapter {
-
-    protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-        IVariable variable = (IVariable) parent;
-        IValue value = variable.getValue();
-        if (value != null) {
-            return getValueChildren(variable, value, context);
-        }
-        return EMPTY;
-    }
-    
-    protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-        IValue value = ((IVariable)element).getValue();
-        return value.hasVariables();
-    }
-    
-    /**
-     * 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
-     * @param context the context in which children have been requested
-     * @return children for the given value, creating array paritions if
-     *         required
-     * @throws CoreException
-     */
-    protected Object[] getValueChildren(IDebugElement parent, IValue value, IPresentationContext context) throws CoreException {
-        if (value == null) {
-            return EMPTY;
-        }
-        IValue logicalValue = getLogicalValue(value, context);
-        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
-     */
-    protected 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 in the specified context
-     * 
-     * @param value
-     * @param context
-     * @return
-     */
-    protected IValue getLogicalValue(IValue value, IPresentationContext context) {
-        return getLogicalValue(value, new ArrayList(), context);
-    }
-
-    /**
-     * Returns any logical value for the raw value. This method will recurse
-     * over the returned value until the same structure is encountered again (to
-     * avoid infinite recursion).
-     * 
-     * @param value
-     * @param previousStructureIds
-     *            the list of logical structures that have already been applied
-     *            to the returned value during the recursion of this method.
-     *            Callers should always pass in a new, empty list.
-     * @return
-     */
-    protected IValue getLogicalValue(IValue value, List previousStructureIds, IPresentationContext context) {
-        if (isShowLogicalStructure(context)) {
-            ILogicalStructureType[] types = DebugPlugin.getLogicalStructureTypes(value);
-            if (types.length > 0) {
-                ILogicalStructureType type = DebugPlugin.getDefaultStructureType(types);
-                if (type != null && !previousStructureIds.contains(type.getId())) {
-                    try {
-                        value = type.getLogicalStructure(value);
-                        previousStructureIds.add(type.getId());
-                        return getLogicalValue(value, previousStructureIds, context);
-                    } catch (CoreException e) {
-                        // unable to display logical structure
-                    }
-                }
-            }
-        }
-        return value;
-    }
-
-    /**
-     * Return wether to show compute a logical structure or a raw structure
-     * in the specified context
-     * 
-     * @return wether to show compute a logical structure or a raw structure
-     * in the specified context
-     */
-    protected boolean isShowLogicalStructure(IPresentationContext context) {
-    	IWorkbenchPart part = context.getPart();
-    	if (part instanceof VariablesView) {
-			return ((VariablesView) part).isShowLogicalStructure();
-		}
-        return false;
-    }
-
-    /**
-     * 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: should fix this with a user pref
-        return 100;
-    }
-    
-	protected boolean supportsPartId(String id) {
-        return id.equals(IDebugUIConstants.ID_EXPRESSION_VIEW) || id.equals(IDebugUIConstants.ID_VARIABLE_VIEW) || id.equals(IDebugUIConstants.ID_REGISTER_VIEW);
-	}   	    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableLabelAdapter.java
deleted file mode 100644
index a9f9c45..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableLabelAdapter.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.elements.adapters;
-
-import java.util.Arrays;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-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.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Label adapter for variables.
- * 
- * @since 3.2
- */
-public class VariableLabelAdapter extends AsynchronousDebugLabelAdapter {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter#getLabels(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
-	 */
-	protected String[] getLabels(Object element, IPresentationContext context) throws CoreException {
-		IWorkbenchPart part = context.getPart();
-		String[] ids = context.getColumns();
-		if (part != null && ids != null) {
-			String viewId = part.getSite().getId();
-			if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(viewId) || IDebugUIConstants.ID_REGISTER_VIEW.equals(viewId)) {
-				IVariable variable = (IVariable) element;
-				IValue value = variable.getValue();
-				String[] columns = new String[ids.length];
-				for (int i = 0; i < ids.length; i++) {
-					columns[i] = getColumnText(variable, value, ids[i], context);
-				}
-				return columns;
-			}
-		}
-		String[] labels = super.getLabels(element, context);
-		String[] escaped = new String[labels.length];
-		for (int i = 0; i < escaped.length; i++) {
-			escaped[i] = escapeSpecialChars(labels[i]);
-		}
-		return escaped;
-	}
-	
-	/**
-	 * Returns the text for the given variable and value for the specified column.
-	 * 
-	 * @param variable
-	 * @param value
-	 * @param columnId
-	 * @return text
-	 * @throws CoreException
-	 */
-	protected String getColumnText(IVariable variable, IValue value, String columnId, IPresentationContext context) throws CoreException {
-		if (VariableColumnPresentation.COLUMN_VARIABLE_NAME.equals(columnId)) {
-			return getVariableName(variable, context);
-		} else if (VariableColumnPresentation.COLUMN_VARIABLE_TYPE.equals(columnId)) {
-			return getVariableTypeName(variable, context);
-		} else if (VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(columnId)) {
-			return getValueText(variable, value, context);
-		} else if (VariableColumnPresentation.COLUMN_VALUE_TYPE.equals(columnId)) {
-			return getValueTypeName(variable, value, context);
-		}		
-		return null;
-	}
-	
-	/**
-	 * Returns the name of the given variable to display in <code>COLUMN_VARIABLE_NAME</code>.
-	 * 
-	 * @param variable
-	 * @return variable name
-	 * @throws CoreException
-	 */
-	protected String getVariableName(IVariable variable, IPresentationContext context) throws CoreException {
-		return variable.getName();
-	}
-	
-	/**
-	 * Returns the type name of the given variable to display in <code>COLUMN_VARIABLE_TYPE</code>.
-	 * 
-	 * @param variable
-	 * @return variable type name
-	 * @throws CoreException
-	 */
-	protected String getVariableTypeName(IVariable variable, IPresentationContext context) throws CoreException {
-		return variable.getReferenceTypeName();
-	}
-	
-	/**
-	 * Returns the label for the given value's type to display in <code>COLUMN_VARIABLE_VALUE</code>
-	 * 
-	 * @param variable
-	 * @param value
-	 * @return value label
-	 * @throws CoreException
-	 */
-	protected String getValueTypeName(IVariable variable, IValue value, IPresentationContext context) throws CoreException {
-		return value.getReferenceTypeName();
-	}
-	
-	/**
-	 * Returns the label for the given value to display in <code>COLUMN_VALUE_TYPE</code>
-	 * 
-	 * @param variable
-	 * @param value
-	 * @return value label
-	 * @throws CoreException
-	 */
-	protected String getValueText(IVariable variable, IValue value, IPresentationContext context) throws CoreException {
-		return escapeSpecialChars(value.getValueString());
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getForeground(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
-	 */
-	protected RGB[] getForegrounds(Object element, IPresentationContext context) throws CoreException {
-		int numElements = getNumElements(context);
-		if (numElements == 1) {
-	        if (element instanceof IVariable) {
-	        	IVariable variable = (IVariable) element;
-	        	try {
-					if (variable.hasValueChanged()) {
-						RGB[] rgbs =  new RGB[numElements];
-						Arrays.fill(rgbs, DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR).getRGB());
-						return rgbs;
-					}
-				} catch (DebugException e) {
-				}
-	        }
-		}
-        return super.getForegrounds(element, context);
-	}
-
-	protected RGB[] getBackgrounds(Object element, IPresentationContext context) throws CoreException {
-		int numElements = getNumElements(context);
-		if (numElements > 1) {
-	        if (element instanceof IVariable) {
-	        	IVariable variable = (IVariable) element;
-	        	try {
-					if (variable.hasValueChanged()) {
-						RGB[] rgbs =  new RGB[numElements];
-						Arrays.fill(rgbs, DebugUIPlugin.getPreferenceColor(IInternalDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND).getRGB());
-						return rgbs;
-					}
-				} catch (DebugException e) {
-				}
-	        }
-		}
-        return super.getBackgrounds(element, context);
-	}
-	
-	protected String escapeSpecialChars(String label) {
-		if (label == null) {
-			return null;
-		}
-		StringBuffer escaped = new StringBuffer();
-		for (int i = 0; i < label.length(); i++) {
-			char c = label.charAt(i);
-			switch (c) {
-				case '\b':
-					escaped.append("\\b"); //$NON-NLS-1$
-					break;
-				case '\f':
-					escaped.append("\\f"); //$NON-NLS-1$
-					break;					
-				case '\n':
-					escaped.append("\\n"); //$NON-NLS-1$
-					break;
-				case '\r':
-					escaped.append("\\r"); //$NON-NLS-1$
-					break;
-				case '\t':
-					escaped.append("\\t"); //$NON-NLS-1$
-					break;
-				default:
-					escaped.append(c);
-					break;
-			}
-		}
-		return escaped.toString();
-	}
-
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/BreakpointImportExport.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/BreakpointImportExport.properties
deleted file mode 100644
index 2411f36..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/BreakpointImportExport.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-WizardImportBreakpoints_0=Import Breakpoints
-WizardImportBreakpointsPage_0=Import Breakpoints
-WizardImportBreakpointsPage_1=File does not exist: {0}
-WizardImportBreakpointsPage_2=Import breakpoints from local filesystem.
-WizardImportBreakpointsPage_3=&Automatically update existing breakpoints
-WizardImportBreakpointsPage_4=F&rom file:
-WizardImportBreakpointsPage_5=Automatically create breakpoint &working sets
-WizardImportBreakpointsPage_6=Please specify a file to import.
-WizardExportBreakpoints_0=Export Breakpoints
-WizardExportBreakpointsPage_0=Please specify a destination file.
-WizardExportBreakpointsPage_1=Select one or more breakpoints to export.
-WizardBreakpointsPage_0=Breakpoint Files
-WizardBreakpointsPage_1=&Select All
-WizardBreakpointsPage_2=&Deselect All
-WizardBreakpointsPage_3=org.eclipse.debug.ui.BreakpointView
-WizardBreakpointsPage_4=Export breakpoints to the local filesystem.
-WizardBreakpointsPage_5=Options
-WizardBreakpointsPage_6=&Overwrite existing file without warning
-WizardBreakpointsPage_7=&To file:
-WizardBreakpointsPage_8=Brows&e...
-WizardBreakpointsPage_12=Overwrite?
-ImportExportOperations_0=Do you want to overwrite: {0} ?
-ImportExportOperations_1=Overwrite Breakpoint?
-ImportExportOperations_2=Overwrite {0}, {1}?
-ImportExportOperations_3=Overwrite all without prompt.
-ImportBreakpointsOperation_0=Breakpoint import file not found: {0}
-ImportBreakpointsOperation_1=The import file was written in non-UTF-8 encoding.
-ImportOperation_0=Importing Breakpoints
-ExportOperation_0=Exporting Breakpoints
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
deleted file mode 100644
index 58cfc10..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.importexport.breakpoints;
-
-import java.util.ArrayList;
-import java.util.Vector;
-
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsContentProvider;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsLabelProvider;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsSorter;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsViewer;
-import org.eclipse.debug.internal.ui.views.breakpoints.IBreakpointOrganizer;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-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.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IViewPart;
-
-/**
- * This class creates a simplified debug view that can be used in wizards etc., to emulate the current debug view
- * 
- * @see WizardExportBreakpointsPage
- * @see WizardImportBreakpointsPage
- *
- * @since 3.2
- */
-public class EmbeddedBreakpointsViewer {
-
-	//widgets
-	private IStructuredSelection fSelection = null;
-	private BreakpointsView fView = null;
-	private BreakpointsContentProvider fProvider = null;
-	private Tree fTree = null;
-	private BreakpointsViewer fViewer = null;
-	private ICheckStateListener fCheckListener = new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			updateCheckedState(event.getElement(), event.getChecked());
-		}
-	};
-	
-	//constants
-	private static final int HEIGHT_HINT = 150;
-	
-	/**
-	 * This constructor uses the selection from the debug view to initialize its selection
-	 * 
-	 * <p>
-	 * Neither parent nor input can be null
-	 * </p>
-	 * 
-	 * @param parent the parent to add this composite to
-	 * @param input the input to the viewer
-	 */
-	public EmbeddedBreakpointsViewer(Composite parent, Object input) {
-		Assert.isNotNull(parent);
-		Assert.isNotNull(input);
-		createControl(parent, input, null);
-	}//end constructor
-	
-	/**
-	 * This constructor allows a specific selction to be used in stead of the default
-	 * 
-	 * @param parent the parent composite to add this one to
-	 * @param input the input to the viewer
-	 * @param selection the selection to set on the viewer
-	 */
-	public EmbeddedBreakpointsViewer(Composite parent, Object input, IStructuredSelection selection) {
-		Assert.isNotNull(parent);
-		Assert.isNotNull(input);
-		createControl(parent, input, selection);
-	}
-	
-	/**
-	 * Creates the control initialized to the current view, selection, and organization of the breakpoints view
-	 * @param parent the parent composite to add this one to.
-	 * 
-	 * @param parent the parent composite to add this one to
-	 * @param input the input for the viewer
-	 * @param selection the selection for the viewer to be initialized to. If null the selection from the breakpoints view is used
-	 */
-	private void createControl(Composite parent, Object input, IStructuredSelection selection) {
-		fSelection = selection;
-		if(fSelection == null) {
-			IViewPart fViewpart = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage().findView(IDebugUIConstants.ID_BREAKPOINT_VIEW);
-			if(fViewpart != null) {
-				fSelection = (IStructuredSelection)fViewpart.getViewSite().getSelectionProvider().getSelection();
-			}//end if
-			else {
-				fSelection = new StructuredSelection();
-			}//end else
-		}//end if
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout(1, true));
-		GridData grid = new GridData(GridData.FILL_BOTH);
-		grid.heightHint = HEIGHT_HINT;
-		composite.setLayoutData(grid);
-		composite.setFont(font);
-		
-		// create the treeview
-		fTree = new Tree(composite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK);
-		fProvider = new BreakpointsContentProvider();
-		fView = ((BreakpointsView)DebugUIPlugin.getActiveWorkbenchWindow().getActivePage().findView(IDebugUIConstants.ID_BREAKPOINT_VIEW));
-		fTree.setLayoutData(new GridData(GridData.FILL_BOTH));
-		fViewer = new BreakpointsViewer(fTree);
-		//fix for bug #109008
-		IBaseLabelProvider labelProvider = null;
-		if (fView == null) {
-			labelProvider = new BreakpointsLabelProvider();
-		} else {
-			labelProvider = fView.getCheckboxViewer().getLabelProvider();
-		}
-		fViewer.setSorter(new BreakpointsSorter());
-		fViewer.setLabelProvider(labelProvider);
-		fViewer.addCheckStateListener(fCheckListener);
-		IBreakpointOrganizer[] orgs = null;
-		if(fView != null)
-			 orgs = fView.getBreakpointOrganizers(); 
-		fViewer.setContentProvider(fProvider);
-		fViewer.setInput(input);
-		fProvider.setOrganizers(orgs);
-		initViewerState();
-	}
-	
-	/**
-	 * Performs the initialization of the viewer from a selection
-	 */
-	private void initViewerState() {
-		Object[] items = fSelection.toArray();
-		fViewer.setGrayedElements(new Object[] {});
-		fViewer.setCheckedElements(new Object[] {});
-		ArrayList list = new ArrayList();
-		for(int i = 0; i < items.length; i++) {
-			Object item = items[i];
-			if(item instanceof IBreakpoint) {
-				list.add(item);
-			}//end if
-			else if (item instanceof BreakpointContainer) {
-				getBreakpointsFromContainers((BreakpointContainer)item, list);
-			}//end if
-		}//end for
-		for(int i = 0; i < list.size(); i++) {
-			updateCheckedState(list.get(i), true);
-		}
-	}//end initViewerState
-	
-	/**
-	 * FInds the breakpoints of a given container
-	 * @param container the container to get breakpoints from
-	 * @param list the list of breakpoints to update state for
-	 */
-	private void getBreakpointsFromContainers(BreakpointContainer container, ArrayList list) {
-		Object[] elements = container.getChildren();
-		for(int i = 0; i < elements.length; i++) {
-			if(elements[i] instanceof IBreakpoint) {
-				list.add(elements[i]);
-			}//end if
-			else {
-				getBreakpointsFromContainers((BreakpointContainer)elements[i], list);
-			}//end else
-		}//end for
-	}//getBreakpointsFromContainers
-	
-	/**
-	 * Returns the selection from the viewer with no duplicates
-	 * @return the selection from the viewer with no duplicates
-	 */
-	public IStructuredSelection getCheckedElements() {
-		Object[] list = fViewer.getCheckedElements();
-		Vector selected = new Vector();
-		for(int i = 0; i < list.length; i++) {
-			if(!selected.contains(list[i])) {
-				selected.addElement(list[i]);
-			}//end if
-		}//end for
-		return new StructuredSelection(selected);
-	}
-	
-	/**
-	 * Allows access to the viewer
-	 * @return the viewer
-	 */
-	public BreakpointsViewer getViewer() {
-		return fViewer;
-	}//end getViewer
-   
-	/**
-	 * finds all occurrences of a widget to update
-	 * @param element the element to search for when finding occurrences
-	 * @return a list of widget occurrences to update or an empty list
-	 */
-    private Widget[] searchItems(Object element) {
-        ArrayList list = new ArrayList();
-        TreeItem[] items = fTree.getItems();
-        for (int i = 0; i < items.length; i++) {
-        	findAllOccurrences(items[i], element, list);
-        }//end for
-        return (Widget[]) list.toArray(new Widget[0]);
-    }
-    
-    /**
-     * performs the actual search for items in the tree
-     * @param list the list to add matches to
-     * @param item the item in the tree
-     * @param element the element to compare
-     */
-    private void findAllOccurrences(TreeItem item, Object element, ArrayList list) {
-        if (element.equals(item.getData())) {
-                list.add(item);
-        }//end if
-        TreeItem[] items = item.getItems();
-        for (int i = 0; i < items.length; i++) {
-        	findAllOccurrences(items[i], element, list);
-        }
-    }
-    
-	 /**
-     * Update the checked state of the given element and all of its children.
-     * 
-     * @param obj the object that has been changed
-     * @param enable the checked status of the obj
-     */
-    private void updateCheckedState(Object obj, boolean enable) {
-	        if (obj instanceof IBreakpoint) {
-	        	Widget[] list = searchItems(obj);
-	        	TreeItem item = null;
-	        	for(int i = 0; i < list.length; i++) {
-		        	item = (TreeItem)list[i];
-		            item.setChecked(enable);
-		            refreshParents(item);
-	        	}//end for
-	        }//end if
-	        else if (obj instanceof BreakpointContainer) {
-	        	ArrayList bps = new ArrayList();
-	        	getBreakpointsFromContainers((BreakpointContainer)obj, bps);
-	        	for(int j = 0; j < bps.size(); j++) {
-	        		updateCheckedState(bps.get(j), enable);
-	        	}
-	        }//end if
-	        //refreshParents(item);
-    
-     }//end updateCheckedState 
-
-    /**
-     * refreshes the grayed/checked state of the parents of item
-     * @param item the item to refresh parents of
-     */
-    private void refreshParents(TreeItem item) {
-    	TreeItem parent = item.getParentItem();
-    	while (parent != null) {
-    		int checked = getNumberChildrenChecked(parent);
-        	if(checked == 0) {
-        		parent.setGrayed(false);
-            	parent.setChecked(false);
-        	}//end if
-        	else if(checked == parent.getItemCount()) {
-        		if(getNumberChildrenGrayed(parent) > 0) {
-        			parent.setGrayed(true);
-        		}//end if
-        		else {
-        			parent.setGrayed(false);
-        		}//end else
-         		parent.setChecked(true);
-        	}//end if
-        	else {
-        		parent.setGrayed(true);
-            	parent.setChecked(true);
-        	}//end else
-    		parent = parent.getParentItem();
-    	}//end while
-    }//end refreshParents
-    
-    /**
-     * Gets the number of grayed children for this parent
-     * @param parent the parent to inspect
-     * @return treu is any one or more children is grayed, false otherwise
-     */
-    private int getNumberChildrenGrayed(TreeItem parent) {
-    	TreeItem[] children = parent.getItems();
-    	int count = 0;
-    	for(int i = 0; i < children.length; i++) {
-    		if(children[i].getGrayed()) {
-    			count++;
-    		}//end if
-    	}//end for
-    	return count;
-    }//end getNumberChildrenGrayed
-    
-    /**
-     * Checks to see if all of the children under an given parent are checked or not
-     * @param children the children to check
-     * @return true if all children are checked, false otherwise
-     */
-    private int getNumberChildrenChecked(TreeItem parent) {
-    	TreeItem[] children = parent.getItems();
-    	int count = 0;
-    	for(int i = 0; i < children.length; i++) {
-    		if(children[i].getChecked()) {
-    			count++;
-    		}//end if
-    	}//end for
-    	return count;
-    }//end allChildrenChecked
-}//end class
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ExportBreakpoints.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ExportBreakpoints.java
deleted file mode 100644
index 23c9f10..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ExportBreakpoints.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.importexport.breakpoints;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate;
-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.wizard.WizardDialog;
-import org.eclipse.ui.IViewPart;
-
-/**
- * <p>
- * This class provides the aciton event for both the context menu in breakpoints view
- * and the drop down menu inn the breakpoints view.
- * </p> 
- * <p>
- *  The action simply calls the wizard to export breakpoints.
- *  </p>
- *  @see WizardExportBreakpoints
- *  @see WizardExportBreakpointsPage
- *  
- *  @since 3.2
- */
-public class ExportBreakpoints extends AbstractDebugActionDelegate { 
-
-	/**
-	 * This method actually performs the execution of the action event
-	 * 
-	 * @param action IAction the action
-	 */
-	public void run(IAction action) {
-		IViewPart fViewpart = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage().findView(IDebugUIConstants.ID_BREAKPOINT_VIEW);
-		WizardExportBreakpoints wiz = new WizardExportBreakpoints();
-		wiz.init(DebugUIPlugin.getDefault().getWorkbench(), (IStructuredSelection)fViewpart.getViewSite().getSelectionProvider().getSelection());
-		WizardDialog wizdialog = new WizardDialog(DebugUIPlugin.getShell(), wiz);
-		wizdialog.setBlockOnOpen(true);
-		wizdialog.open();
-	}//end run
-	
-	/* (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) {
-		getAction().setEnabled(DebugPlugin.getDefault().getBreakpointManager().hasBreakpoints());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate#doAction(java.lang.Object)
-	 */
-	protected void doAction(Object element) throws DebugException {}
-}//end class
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/IImportExportConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/IImportExportConstants.java
deleted file mode 100644
index d5bccfd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/IImportExportConstants.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.importexport.breakpoints;
-
-/**
- *
- * XML tag constants for importing and exporting breakpoints
- */
-public interface IImportExportConstants {
-
-	/**
-	 * <p>
-	 * The name for the top level node in the XMLMemento for storing/restoring breakpoint information.</br>
-	 * 
-	 * General formulation of the XMLMemento is as follows:</br>
-	 * 
-	 * breakpoints := (breakpoint)*</br>
-	 * 
-	 * breakpoint := resource</br>
-	 * 
-	 * resource := (marker)+</br>
-	 * 
-	 * marker := (attribs)+</br>
-	 * </p>	
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 * 
-	 */
-	public static final String IE_NODE_BREAKPOINTS = "breakpoints"; //$NON-NLS-1$
-	
-	/**
-	 * The name of the node type for each of the imported or exported breakpoints
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_NODE_BREAKPOINT = "breakpoint"; //$NON-NLS-1$
-	
-	/**
-	 * The ID for the classname node for exporting breakpoints from the wizards.
-	 * This ID is searchable from the listing of XMLMementos gathered from the BreakPointManager.
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 * @see XMLMemento->getChild(String)
-	 */
-	public static final String IE_NODE_CLASSNAME = "classname"; //$NON-NLS-1$
-	
-	/**
-	 * <p>
-	 * The generalized ID for each of the values stored in a markers' attribute map.
-	 * Since a marker can have any number of attributes and or values, we use a 
-	 * (name, value) paring in the XMLmemento to store them, without having a dependence upon what the attribute
-	 * is or what type it is.
-	 * </p>
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_NODE_VALUE = "value"; //$NON-NLS-1$
-	
-	/**
-	 * Each breakpoint has an associated resource, which is described with this element
-	 * name
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_NODE_RESOURCE = "resource"; //$NON-NLS-1$
-	
-	/**
-	 * To validate the resource when filtering importable breakpoints we need to know its path.
-	 * This is the the name of XMLMemento node that stores that path.
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_NODE_PATH = "path"; //$NON-NLS-1$
-	
-	/**
-	 * To filter the type of path searched for within the workspace to allow for the filtering of 
-	 * breakpoints for import, we need to know the type to filter for.
-	 * 
-	 * This is the name of the XMLMemento node that stores the type of the resource
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_NODE_TYPE = "type"; //$NON-NLS-1$
-	
-	/**
-	 * The name for the marker node in the corresponding XMLMemento
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_NODE_MARKER = "marker"; //$NON-NLS-1$
-	
-	/**
-	 * The name for a marker attribute node in the corresponding XMLMemento
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_NODE_ATTRIB = "attrib"; //$NON-NLS-1$
-	
-	/**
-	 * The generalized name for the "name" node used in marker attribute nodes.
-	 * This is the other ID in the (name, value) pairing used to describe attributes
-	 * of markers.
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_NODE_NAME = "name"; //$NON-NLS-1$
-	
-	/**
-	 * The name of the enabled attribute, which is part of the breakpoint node information
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_BP_ENABLED = "enabled"; //$NON-NLS-1$
-	
-	/**
-	 * The name of the registered attribute, which is part of the breakpoint node information
-	 * 
-	 * @see WizardExportBreakpointsPage
-	 * @see WizardImportBreakpointsPage
-	 */
-	public static final String IE_BP_REGISTERED = "registered"; //$NON-NLS-1$
-	
-	/**
-	 * The name of the persistant attribute for breakpoint information
-	 */
-	public static final String IE_BP_PERSISTANT = "persistant"; //$NON-NLS-1$
-	
-	/**
-	 * The default file extension for breakpoint export files
-	 */
-	public static final String EXTENSION = "bkpt";  //$NON-NLS-1$
-	
-	/**
-	 * the charstart attribute from a marker
-	 */
-	public static final String CHARSTART = "charStart"; //$NON-NLS-1$
-	
-	/**
-	 * the name of the workingsets node
-	 */
-	public static final String IE_NODE_WORKINGSETS = "workingsets";  //$NON-NLS-1$
-	
-	/**
-	 * The name of the workingset node
-	 */
-	public static final String IE_NODE_WORKINGSET = "workingset"; //$NON-NLS-1$
-	
-	/**
-	 * The name of the id attribute, reusable for a general attribute called id
-	 */
-	public static final String IE_NODE_ID = "id"; //$NON-NLS-1$
-	
-	/**
-	 * The delimiter for the listing of working sets that a marker belongs to
-	 */
-	public static final String DELIMITER = "<;#>"; //$NON-NLS-1$
-}//end interface
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportBreakpoints.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportBreakpoints.java
deleted file mode 100644
index 604a347..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportBreakpoints.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c)2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.importexport.breakpoints;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.wizard.WizardDialog;
-
-/**
- * This class provides the aciton event for both the context menu in breakpoints view
- * and the drop down menu in the breakpoints view. 
- * <p>
- * The action simply calls the wizard to import breakpoints.
- * </p>
- *  
- *  @see WizardImportBreakpoints
- *  @see WizardImportBreakpointsPage
- *  
- *  @since 3.2
- */
-public class ImportBreakpoints extends AbstractDebugActionDelegate {
-	
-	/**
-	 * Opens import wizard
-	 * 
-	 * @param action IAction the action
-	 */
-	public void run(IAction action) {
-		WizardImportBreakpoints wiz = new WizardImportBreakpoints();
-		wiz.init(DebugUIPlugin.getDefault().getWorkbench(), null);
-		WizardDialog wizdialog = new WizardDialog(DebugUIPlugin.getShell(), wiz);
-		wizdialog.setBlockOnOpen(true);
-		wizdialog.open();
-	}//end run
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate#doAction(java.lang.Object)
-	 */
-	protected void doAction(Object element) throws DebugException {}
-
-	/* (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) {
-		getAction().setEnabled(true);
-	}//end update
-}//end class
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportExportMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportExportMessages.java
deleted file mode 100644
index fe5c46d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportExportMessages.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.importexport.breakpoints;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ImportExportMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.importexport.breakpoints.BreakpointImportExport"; //$NON-NLS-1$
-
-	private ImportExportMessages() {
-	}
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, ImportExportMessages.class);
-	}
-
-	public static String ImportBreakpointsOperation_1;
-	public static String WizardImportBreakpoints_0;
-	public static String WizardExportBreakpoints_0;
-	public static String WizardBreakpointsPage_0;
-	public static String WizardBreakpointsPage_1;
-	public static String WizardBreakpointsPage_2;
-	public static String WizardBreakpointsPage_3;
-	public static String WizardBreakpointsPage_4;
-	public static String WizardBreakpointsPage_5;
-	public static String WizardBreakpointsPage_6;
-	public static String WizardBreakpointsPage_7;
-	public static String WizardBreakpointsPage_8;
-	public static String WizardBreakpointsPage_12;
-	public static String ImportExportOperations_0;
-	public static String ImportExportOperations_1;
-	public static String ImportExportOperations_2;
-	public static String ImportExportOperations_3;
-	public static String ImportOperation_0;
-	public static String WizardImportBreakpointsPage_0;
-	public static String WizardImportBreakpointsPage_1;
-	public static String WizardImportBreakpointsPage_2;
-	public static String WizardImportBreakpointsPage_3;
-	public static String WizardImportBreakpointsPage_4;
-	public static String ExportOperation_0;
-	public static String WizardImportBreakpointsPage_5;
-	public static String WizardExportBreakpointsPage_0;
-	public static String WizardExportBreakpointsPage_1;
-	public static String WizardImportBreakpointsPage_6;
-	public static String ImportBreakpointsOperation_0;
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpoints.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpoints.java
deleted file mode 100644
index 85c301e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpoints.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.importexport.breakpoints;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IExportWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * <p>
- * This class provides a wizard for exporting breakpoints.
- * It serves dual purpose, in that it is used by the platform import/export wizard,
- * but it can also be used as a standalone wizard.
- * </p>
- * <p>
- * Example:
- * </p>
- * <pre>
- * IWizard wiz = new WizardExportBreakpoints();
- * wiz.init(workbench, selection);
- * WizardDialog wizdialog = new WizardDialog(shell, wiz);
- * wizdialog.open();
- * </pre>
- * 
- * This class uses <code>WizardExportBreakpointsPage</code>
- * 
- * @since 3.2
- *
- */
-public class WizardExportBreakpoints extends Wizard implements IExportWizard {
-
-	/*
-	 * The main page
-	 */
-	private WizardExportBreakpointsPage fMainPage = null;
-	
-	/**
-	 * The existing selection
-	 */
-	private IStructuredSelection fSelection = null;
-	
-	/**
-	 * Identifier for dialog settings section for the export wizard. 
-	 */
-	private static final String EXPORT_DIALOG_SETTINGS = "BreakpointExportSettings"; //$NON-NLS-1$
-	
-	/**
-	 * This is the default constructor
-	 */
-	public WizardExportBreakpoints() {
-		super();
-		DebugUIPlugin plugin = DebugUIPlugin.getDefault();
-		IDialogSettings workbenchSettings = plugin.getDialogSettings();
-		IDialogSettings section = workbenchSettings.getSection(EXPORT_DIALOG_SETTINGS);
-		if (section == null)
-			section = workbenchSettings.addNewSection(EXPORT_DIALOG_SETTINGS);
-		setDialogSettings(section);
-	}//end constructor
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#addPages()
-	 */
-	public void addPages() {
-		super.addPages();
-		fMainPage = new WizardExportBreakpointsPage(ImportExportMessages.WizardExportBreakpoints_0, fSelection); 
-		addPage(fMainPage);
-	}//end addPages
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		fMainPage = null;
-		fSelection = null;
-	}//end dispose
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#performFinish()
-	 */
-	public boolean performFinish() {
-		return fMainPage.finish();
-	}//end performFinish
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		fSelection = selection;
-		setWindowTitle(ImportExportMessages.WizardExportBreakpoints_0);
-        setNeedsProgressMonitor(true);
-	}//end init
-}//end class
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java
deleted file mode 100644
index 8ed7359..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.importexport.breakpoints;
-
-import java.lang.reflect.InvocationTargetException;
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsViewer;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.actions.ExportBreakpointsOperation;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-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.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * This class provides an internal implementation of a WizardPage, which is used
- * in the Export Breakpoints wizard.
- * </p>
- * <p>
- * The implementation presents the breakpoints to the user as they are shown in
- * their current breakpoint view.
- * </p>
- * <p>
- * Possible extensions would include:
- * <ul>
- * <li> Able to change the views as in the breakpoints view itself
- * <li> Able to reorder groups from within the wizard - easier in the viewer itself though
- * </ul>
- * </p>
- * This class is used by <code>WizardExportBreakpoints</code>
- * 
- * @since 3.2
- */
-public class WizardExportBreakpointsPage extends WizardPage implements Listener {
-
-	// widgets
-	private Button fOverwriteExistingFilesCheckbox = null;
-	private Text fDestinationNameField = null;
-	private Button fDestinationBrowseButton = null;
-	private IPath fPath = null;
-	private EmbeddedBreakpointsViewer fTView = null;
-	private IStructuredSelection fSelection = null;
-	private Button fSelectAll = null;
-	private Button fDeselectAll = null;
-
-	//state constants
-	private static final String OVERWRITE_ALL_STATE = "overwrite"; //$NON-NLS-1$
-	private static final String DESTINATION_FILE_NAME = "filename"; //$NON-NLS-1$
-	
-	/**
-	 * This is the default constructor. It accepts the name for the tab as a
-	 * parameter and an existing selection
-	 * 
-	 * @param pageName the name of the page
-	 */
-	public WizardExportBreakpointsPage(String pageName, IStructuredSelection selection) {
-		super(pageName, ImportExportMessages.WizardExportBreakpoints_0, null);
-		fSelection = selection;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(Event event) {
-		Widget source = event.widget;
-		if (source == fDestinationBrowseButton) {
-			handleDestinationBrowseButtonPressed();
-		}
-		else if (source == fDestinationNameField) {
-			handlePathTextModifiedEvent();
-		}
-		else if(source == fSelectAll) {
-			handleSelectAllPressed();
-		}
-		else if(source == fDeselectAll) {
-			handleDeselectAllPressed();
-		}
-	}
-	
-	/**
-	 * Handles the select all button pressed
-	 *
-	 */
-	private void handleSelectAllPressed() {
-		BreakpointsViewer viewer = fTView.getViewer();
-		viewer.getTree().selectAll();
-		viewer.setCheckedElements(((IStructuredSelection)viewer.getSelection()).toArray());
-		viewer.setGrayedElements(new Object[] {});
-		viewer.getTree().deselectAll();
-		setPageComplete(detectPageComplete());
-	}
-	
-	/**
-	 * Handles the deselect all button pressed
-	 *
-	 */
-	private void handleDeselectAllPressed() {
-		BreakpointsViewer viewer = fTView.getViewer();
-		viewer.setCheckedElements(new Object[] {});
-		viewer.setGrayedElements(new Object[] {});
-		setPageComplete(detectPageComplete());
-	}
-	
-	/**
-	 * This method handles the modified event fomr the path combobox.
-	 */
-	protected void handlePathTextModifiedEvent() {
-		setPageComplete(detectPageComplete());
-	}
-
-	/**
-	 * Open the SaveAsDialog so the user can save the listing of selected breakpoints
-	 */
-	protected void handleDestinationBrowseButtonPressed() {
-		FileDialog dialog = new FileDialog(getContainer().getShell(), SWT.SAVE);
-		dialog.setFilterExtensions(new String[]{"*."+IImportExportConstants.EXTENSION});  //$NON-NLS-1$
-		dialog.setText(ImportExportMessages.WizardExportBreakpoints_0);
-		String file = dialog.open();
-		if(file != null) {
-			fPath = new Path(file);
-			if (fPath != null) {
-				setErrorMessage(null);
-				if(fPath.getFileExtension() == null) {
-					fPath = fPath.addFileExtension(IImportExportConstants.EXTENSION);  
-				}
-				else if(!fPath.getFileExtension().equals(IImportExportConstants.EXTENSION)) { 
-					fPath = fPath.addFileExtension(IImportExportConstants.EXTENSION); 
-				}
-				fDestinationNameField.setText(fPath.toString());
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		initializeDialogUnits(parent);
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-
-		fTView = new EmbeddedBreakpointsViewer(composite, DebugPlugin.getDefault().getBreakpointManager(), fSelection);
-		fTView.getViewer().addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				setPageComplete(detectPageComplete());
-			}
-		});
-		fTView.getViewer().setSelection(fSelection);
-		createButtonsGroup(composite);
-		createDestinationGroup(composite);
-		createOptionsGroup(composite);
-		setControl(composite); 
-		setPageComplete(detectPageComplete());
-		restoreWidgetState();
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.EXPORT_BREAKPOINTS_WIZARD_PAGE);
-		
-		Dialog.applyDialogFont(parent);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#getImage()
-	 */
-	public Image getImage() {
-		return DebugUITools.getImage(IInternalDebugUIConstants.IMG_WIZBAN_EXPORT_BREAKPOINTS);
-	}
-
-	/**
-     * Creates the buttons for selecting all or none of the elements.
-     *
-     * @param parent the parent control
-     */
-    private void createButtonsGroup(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        layout.makeColumnsEqualWidth = true;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-        fSelectAll = SWTUtil.createPushButton(composite, ImportExportMessages.WizardBreakpointsPage_1, null); 
-        fSelectAll.addListener(SWT.Selection, this);
-		fDeselectAll = SWTUtil.createPushButton(composite, ImportExportMessages.WizardBreakpointsPage_2, null);
-		fDeselectAll.addListener(SWT.Selection, this);
-    }
-	
-	/**
-	 * This method is used to determine if the page can be "finished".
-	 * 
-	 * To be determined "finishable" there must be a save path and there must be
-	 * a selection in the tree.
-	 * 
-	 * @return if the prerequesites of the wizard are met to allow the wizard to complete.
-	 */
-	private boolean detectPageComplete() {
-		boolean emptyFile = fDestinationNameField.getText().trim().equals(""); //$NON-NLS-1$
-		if (emptyFile) {
-			setMessage(ImportExportMessages.WizardExportBreakpointsPage_0, IMessageProvider.NONE);
-			return false;
-		}
-		int size = fTView.getCheckedElements().size();
-		if (size == 0) {
-			setMessage(ImportExportMessages.WizardExportBreakpointsPage_1, IMessageProvider.ERROR);
-			return false;
-		}
-		setMessage(ImportExportMessages.WizardBreakpointsPage_4);
-		return true;
-	}
-
-	/**
-	 * Create the Options specification widgets.
-	 * 
-	 * @param parent the parent to add this 
-	 */
-	protected void createOptionsGroup(Composite parent) {
-		Font font = parent.getFont();
-		// Options group
-		Group OptionsGroup = new Group(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		OptionsGroup.setLayout(layout);
-		OptionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-		OptionsGroup.setText(ImportExportMessages.WizardBreakpointsPage_5);
-		OptionsGroup.setFont(parent.getFont());
-		fOverwriteExistingFilesCheckbox = new Button(OptionsGroup, SWT.CHECK | SWT.LEFT);
-		fOverwriteExistingFilesCheckbox.setText(ImportExportMessages.WizardBreakpointsPage_6);
-		fOverwriteExistingFilesCheckbox.setFont(font);
-	}
-
-	/**
-	 * Create the export destination specification widgets
-	 * 
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 */
-	protected void createDestinationGroup(Composite parent) {
-		Font font = parent.getFont();
-		// destination specification group
-		Composite destinationSelectionGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		destinationSelectionGroup.setLayout(layout);
-		destinationSelectionGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		destinationSelectionGroup.setFont(font);
-		Label destinationLabel = new Label(destinationSelectionGroup, SWT.NONE);
-		destinationLabel.setText(ImportExportMessages.WizardBreakpointsPage_7);
-		destinationLabel.setFont(font);
-		fDestinationNameField = new Text(destinationSelectionGroup, SWT.BORDER);
-		fDestinationNameField.addListener(SWT.Modify, this);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-		fDestinationNameField.setLayoutData(data);
-		fDestinationNameField.setFont(font);
-		fDestinationBrowseButton = new Button(destinationSelectionGroup, SWT.PUSH);
-		fDestinationBrowseButton.setText(ImportExportMessages.WizardBreakpointsPage_8);
-		fDestinationBrowseButton.addListener(SWT.Selection, this);
-		fDestinationBrowseButton.setFont(font);
-		setButtonLayoutData(fDestinationBrowseButton);
-	}
-
-	/**
-	 * Save the state of the widgets select, for successive invocations of the wizard
-	 */
-	private void saveWidgetState() {
-		IDialogSettings settings = getDialogSettings();
-		if(settings != null) {
-			settings.put(OVERWRITE_ALL_STATE, fOverwriteExistingFilesCheckbox.getSelection());
-			settings.put(DESTINATION_FILE_NAME, fDestinationNameField.getText().trim());
-		}
-	}
-	
-	/**
-	 * Restores the state of the wizard from previous invocations
-	 */
-	private void restoreWidgetState() {
-		IDialogSettings settings = getDialogSettings();
-		if(settings != null) {
-			fOverwriteExistingFilesCheckbox.setSelection(Boolean.valueOf(settings.get(OVERWRITE_ALL_STATE)).booleanValue());
-			String filename = settings.get(DESTINATION_FILE_NAME);
-			if (filename != null) {
-				fDestinationNameField.setText(filename);
-			}
-		}
-	}
-	
-	/**
-	 * The Finish button is clicked on the main wizard
-	 * dialog to export the breakpoints, we write them out with all persistnat
-	 * information to a simple XML file via the use of XMLMemento.
-	 * 
-	 * @return if the save operation was successful or not
-	 */
-	public boolean finish() {
-		try {
-			//name typed in without using selection box
-			if(fPath == null) {
-				fPath = new Path(fDestinationNameField.getText().trim());
-				if(fPath.getFileExtension() == null) {
-					fPath = fPath.addFileExtension(IImportExportConstants.EXTENSION);  
-				}
-				else if(!fPath.getFileExtension().equals(IImportExportConstants.EXTENSION)) { 
-					fPath = fPath.addFileExtension(IImportExportConstants.EXTENSION); 
-				}
-			}
-			saveWidgetState();
-			if(fPath.toFile().exists() && !fOverwriteExistingFilesCheckbox.getSelection()) {
-				if (!MessageDialog.openQuestion(null, ImportExportMessages.WizardBreakpointsPage_12, MessageFormat.format(ImportExportMessages.ImportExportOperations_0, new String[] {fPath.toPortableString()}))) {
-					return false;
-				}
-			}
-			// collect breakpoints
-			Object[] elements = fTView.getCheckedElements().toArray();
-			List breakpoints = new ArrayList();
-			for (int i = 0; i < elements.length; i++) {
-				Object object = elements[i];
-				if (object instanceof IBreakpoint) {
-					breakpoints.add(object);
-				}
-			}
-			getContainer().run(true, true, new ExportBreakpointsOperation((IBreakpoint[]) breakpoints.toArray(new IBreakpoint[breakpoints.size()]), fPath.toOSString()));
-		}
-		catch (InterruptedException e) {
-			DebugPlugin.log(e);
-			return false;
-		}
-		catch (InvocationTargetException e) {
-			DebugPlugin.log(e);
-			return false;
-		}
-		return true;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpoints.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpoints.java
deleted file mode 100644
index 1ba7c97..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpoints.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.importexport.breakpoints;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * <p>
- * Wizard for Importing breakpoints.
- * It serves a dual purpose, in that it is used by the platform import/export wizard,
- * but it can also be used as a standalone wizard.
- * </p>
- * <p>
- * Example:
- * </p>
- * <pre>
- * IWizard wiz = new WizardImportBreakpoints();
- * wiz.init(workbench, selection);
- * WizardDialog wizdialog = new WizardDialog(shell, wiz);
- * wizdialog.open();
- * </pre>
- * 
- * This class uses <code>WizardImportBreakpointsPage</code>
- * 
- * @since 3.2
- *
- */
-public class WizardImportBreakpoints extends Wizard implements IImportWizard {
-
-	/*
-	 * The main page
-	 */
-	private WizardImportBreakpointsPage fMainPage = null;
-	
-	/**
-	 * Identifier for dialog settings section for the import wizard. 
-	 */
-	private static final String IMPORT_DIALOG_SETTINGS = "BreakpointImportSettings"; //$NON-NLS-1$
-	
-	/**
-	 * This is the default constructor
-	 */
-	public WizardImportBreakpoints() {
-		super();
-		DebugUIPlugin plugin = DebugUIPlugin.getDefault();
-		IDialogSettings workbenchSettings = plugin.getDialogSettings();
-		IDialogSettings section = workbenchSettings.getSection(IMPORT_DIALOG_SETTINGS);
-		if (section == null)
-			section = workbenchSettings.addNewSection(IMPORT_DIALOG_SETTINGS);
-		setDialogSettings(section);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#addPages()
-	 */
-	public void addPages() {
-		super.addPages();
-		fMainPage = new WizardImportBreakpointsPage(ImportExportMessages.WizardImportBreakpoints_0);
-		addPage(fMainPage);
-	}//end addPages
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		fMainPage = null;
-	}//end dispose
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#performFinish()
-	 */
-	public boolean performFinish() {
-		return fMainPage.finish();
-	}//end performFinish
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		setWindowTitle(ImportExportMessages.WizardImportBreakpoints_0);
-        setNeedsProgressMonitor(true);
-	}//end init
-}//end class
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsPage.java
deleted file mode 100644
index 5a77f21..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsPage.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.importexport.breakpoints;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import com.ibm.icu.text.MessageFormat;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.actions.ImportBreakpointsOperation;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-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.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The import breakpoints wizard page.
- * 
- * This class is used in <code>WizardImportBreakpoints</code>.
- * 
- * @since 3.2
- */
-public class WizardImportBreakpointsPage extends WizardPage implements Listener {
-	
-	//widgets
-	private Button fAutoRemoveDuplicates = null;
-	private Button fAutoCreateWorkingSets = null;
-	private Text fFileNameField = null;
-	private Button fBrowseForFileButton = null;
-	
-//	state constants
-	private static final String REMOVE_DUPS = "overwrite"; //$NON-NLS-1$
-	private static final String CREATE_WORKING_SETS = "createws"; //$NON-NLS-1$
-	private static final String SOURCE_FILE_NAME = "filename"; //$NON-NLS-1$
-	
-	/**
-	 * This is the default constructor. It accepts the name for the tab as a
-	 * parameter
-	 * 
-	 * @param pageName the name of the page
-	 */
-	public WizardImportBreakpointsPage(String pageName) {
-		super(pageName, ImportExportMessages.WizardImportBreakpointsPage_0, null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(Event event) {
-		Widget source = event.widget;
-		if(source == fBrowseForFileButton) {
-			handleBrowseForFileButtonPressed();
-		}
-		setPageComplete(detectPageComplete());
-	}
-
-	/**
-	 * This method handles the fBrowseForFileButton being pressed.
-	 */
-	protected void handleBrowseForFileButtonPressed() {
-		FileDialog dialog = new FileDialog(getContainer().getShell(), SWT.OPEN);
-		dialog.setFilterExtensions(new String[]{"*."+IImportExportConstants.EXTENSION});  //$NON-NLS-1$
-		String file = dialog.open();
-		if(file != null) {
-			fFileNameField.setText(file);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		initializeDialogUnits(parent);
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-		composite.setFont(parent.getFont());
-		createDestinationGroup(composite);
-		createOptionsGroup(composite);
-		setControl(composite);
-		restoreWidgetState();
-		setPageComplete(detectPageComplete());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.IMPORT_BREAKPOINTS_WIZARD_PAGE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#getImage()
-	 */
-	public Image getImage() {
-		return DebugUITools.getImage(IInternalDebugUIConstants.IMG_WIZBAN_IMPORT_BREAKPOINTS);
-	}
-	
-	/**
-	 * This method is used to determine if the page can be "finished".
-	 * To be determined "finishable" there must be an import path.
-	 * 
-	 * @return if the prerequesites of the wizard are met to allow the wizard to complete.
-	 */
-	private boolean detectPageComplete() {
-		String fileName = fFileNameField.getText().trim();
-		if (fileName.equals("")) {//$NON-NLS-1$
-			setMessage(ImportExportMessages.WizardImportBreakpointsPage_6);
-			return false;
-		}
-		File file = new File(fileName);
-		if (!file.exists() || file.isDirectory()) {
-			setMessage(MessageFormat.format(ImportExportMessages.WizardImportBreakpointsPage_1, new String[]{fileName}), ERROR);
-			return false;
-		}
-		
-		setMessage(ImportExportMessages.WizardImportBreakpointsPage_2); 
-		return true;
-	}
-
-	/**
-	 * Create the options specification widgets.
-	 * 
-	 * @param parent the parent composite to add this one to
-	 */
-	protected void createOptionsGroup(Composite parent) {
-		Font font = parent.getFont();
-		// options group
-		Group optionsGroup = new Group(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		optionsGroup.setLayout(layout);
-		optionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-		optionsGroup.setText(ImportExportMessages.WizardBreakpointsPage_5);
-		optionsGroup.setFont(parent.getFont());
-		fAutoRemoveDuplicates = new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
-		fAutoRemoveDuplicates.setText(ImportExportMessages.WizardImportBreakpointsPage_3);
-		fAutoRemoveDuplicates.setFont(font);
-		fAutoCreateWorkingSets = new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
-		fAutoCreateWorkingSets.setText(ImportExportMessages.WizardImportBreakpointsPage_5);
-		fAutoCreateWorkingSets.setFont(font);
-	}
-	
-	/**
-	 * Create the export destination specification widgets
-	 * 
-	 * @param parent the parent composite to add this one to
-	 */
-	protected void createDestinationGroup(Composite parent) {
-		Font font = parent.getFont();
-		Composite destinationSelectionGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		destinationSelectionGroup.setLayout(layout);
-		destinationSelectionGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		destinationSelectionGroup.setFont(font);
-		Label destinationLabel = new Label(destinationSelectionGroup, SWT.NONE);
-		destinationLabel.setText(ImportExportMessages.WizardImportBreakpointsPage_4);
-		destinationLabel.setFont(font);
-
-		// file name entry field
-		fFileNameField = new Text(destinationSelectionGroup, SWT.BORDER);
-		fFileNameField.addListener(SWT.Modify, this);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-		fFileNameField.setLayoutData(data);
-		fFileNameField.setFont(font);
-
-		// destination browse button
-		fBrowseForFileButton = SWTUtil.createPushButton(destinationSelectionGroup, ImportExportMessages.WizardBreakpointsPage_8, null);
-		fBrowseForFileButton.addListener(SWT.Selection, this);
-	}
-	
-	/**
-	 * Save the state of the widgets select, for successive invocations of the wizard
-	 */
-	private void saveWidgetState() {
-		IDialogSettings settings = getDialogSettings();
-		if(settings != null) {
-			settings.put(REMOVE_DUPS, fAutoRemoveDuplicates.getSelection());
-			settings.put(CREATE_WORKING_SETS, fAutoCreateWorkingSets.getSelection());
-			settings.put(SOURCE_FILE_NAME, fFileNameField.getText().trim());
-		}
-	}
-	
-	/**
-	 * Restores the state of the wizard from previous invocations
-	 */
-	private void restoreWidgetState() {
-		IDialogSettings settings = getDialogSettings();
-		if(settings != null) {
-			fAutoRemoveDuplicates.setSelection(Boolean.valueOf(settings.get(REMOVE_DUPS)).booleanValue());
-			fAutoCreateWorkingSets.setSelection(Boolean.valueOf(settings.get(CREATE_WORKING_SETS)).booleanValue());
-			String fileName = settings.get(SOURCE_FILE_NAME);
-			if (fileName != null) {
-				fFileNameField.setText(fileName);
-			}
-		}
-	}
-	
-	/**
-	 * <p>
-	 * This method is called when the Finish button is click on the main wizard
-	 * dialog To import the breakpoints, we read then from the tree
-	 * and add them into the BreakpointManager
-	 * </p>
-	 * @return if the import operation was successful or not
-	 */
-	public boolean finish() {	
-		try {
-			saveWidgetState();
-			getContainer().run(true, true, new ImportBreakpointsOperation(fFileNameField.getText().trim(), fAutoRemoveDuplicates.getSelection(), fAutoCreateWorkingSets.getSelection()));
-		}
-		catch (InterruptedException e) {
-			DebugPlugin.log(e);
-			return false;
-		}
-		catch (InvocationTargetException e) {
-			DebugPlugin.log(e);
-			return false;
-		}
-		return true;
-	}
-	
-}
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 d20fd0e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/AbstractLaunchConfigurationAction.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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/ClosedProjectFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/ClosedProjectFilter.java
deleted file mode 100644
index 2463f5b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/ClosedProjectFilter.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * 
- * This implementation is used to filter closed projects from the launch configuration dialog.
- * It is (de)activated via the <code>IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED</code> preference, and is 
- * provided to fix bug 19521.
- * 
- * @since 3.2
- *
- */
-public class ClosedProjectFilter extends ViewerFilter {
-
-	/**
-	 * Constructor
-	 */
-	public ClosedProjectFilter() {
-		super();
-	}
-
-	/* (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 parent, Object element) {
-		//always let through types, we only care about configs
-		if(element instanceof ILaunchConfigurationType) {
-			return true;
-		}
-		if(element instanceof ILaunchConfiguration) {
-			try {
-				ILaunchConfiguration config = (ILaunchConfiguration)element;
-				if(config.exists()) {
-					IResource[] resources = config.getMappedResources();
-					//if it has no mapping, it might not have migration delegate, so let it pass
-					if(resources == null) {
-						return true;
-					}
-					for(int i = 0; i < resources.length; i++) {
-						IProject project= resources[i].getProject();
-						//we don't want overlap with the deleted projects filter, so we need to allow projects taht don't exist through
-						if(project != null && (project.isOpen() || !project.exists())) {
-							return true;
-						}
-					}
-				}
-			} 
-			catch (CoreException e) {}
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CollapseAllLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CollapseAllLaunchConfigurationAction.java
deleted file mode 100644
index a8ab1d7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CollapseAllLaunchConfigurationAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-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.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.TreeViewer;
-
-/**
- * Provides a collapse all button for the launch configuration viewer toolbar
- * @since 3.2
- */
-public class CollapseAllLaunchConfigurationAction extends Action {
-
-	/**
-	 * Action identifier for IDebugView#getAction(String)
-	 */
-	public static final String ID_COLLAPSEALL_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_COLLAPSEALL_ACTION"; //$NON-NLS-1$
-	
-	/**
-	 * the viewer to perform the collapse all on 
-	 */
-	private TreeViewer fViewer = null;
-	
-	/**
-	 * Constructor
-	 * @param viewer the viewer to perform the collapse all on
-	 */
-	public CollapseAllLaunchConfigurationAction(TreeViewer viewer) {
-		fViewer = viewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_COLLAPSE_ALL);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getText()
-	 */
-	public String getText() {
-		return LaunchConfigurationsMessages.CollapseAllLaunchConfigurationAction_0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return LaunchConfigurationsMessages.CollapseAllLaunchConfigurationAction_1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getDisabledImageDescriptor()
-	 */
-	public ImageDescriptor getDisabledImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_COLLAPSE_ALL);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		fViewer.collapseAll();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getDescription()
-	 */
-	public String getDescription() {
-		return LaunchConfigurationsMessages.CollapseAllLaunchConfigurationAction_2;
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java
deleted file mode 100644
index 728519a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-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 CompileErrorProjectPromptStatusHandler 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 {
-		ILaunchConfiguration config = null;
-		List projects = new ArrayList();
-		
-		if (source instanceof List) {
-			List args = (List) source;
-			Iterator iterator = args.iterator();
-			while (iterator.hasNext()) {
-				Object arg = iterator.next();
-				if (arg instanceof ILaunchConfiguration) {
-					config = (ILaunchConfiguration) arg;
-					if (DebugUITools.isPrivate(config)) {
-						return Boolean.TRUE;
-					}
-				} else if (arg instanceof IProject) {
-					projects.add(arg);
-				}
-			}
-		}	
-		Shell shell = DebugUIPlugin.getShell();
-		
-		StringBuffer projectMessage = new StringBuffer();
-		for (int i = 0; i < projects.size(); i++) {
-			if (i > 0) {
-				projectMessage.append(", "); //$NON-NLS-1$
-			}
-			projectMessage.append(((IProject)projects.get(i)).getName());
-		}
-		String plural = ""; //$NON-NLS-1$
-		if(projects.size() > 1) {
-			plural = "s"; //$NON-NLS-1$
-		}
-		String title =  MessageFormat.format(LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_0, new String[] {plural}); 
-		String message = MessageFormat.format(LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_2, new String[]{plural, projectMessage.toString()}); 
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore(); 
-		
-		String pref = store.getString(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR);
-		if (pref != null) {
-			if (pref.equals(MessageDialogWithToggle.ALWAYS)) {
-				return Boolean.TRUE;
-			}
-		}
-		MessageDialogWithToggle dialog = new MessageDialogWithToggle(shell, 
-				title, 
-				null, 
-				message, 
-				MessageDialog.QUESTION,
-				new String[] {LaunchConfigurationsMessages.CompileErrorProjectPromptStatusHandler_0, IDialogConstants.CANCEL_LABEL}, 
-				0,
-				LaunchConfigurationsMessages.CompileErrorProjectPromptStatusHandler_1,
-				false);
-        if (dialog.open() == IDialogConstants.INTERNAL_ID) {
-        	if(dialog.getToggleState()) {
-        		store.setValue(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR, MessageDialogWithToggle.ALWAYS);
-        	}
-            return Boolean.TRUE;
-        } 
-        else {
-            return Boolean.FALSE;
-        }
-	}
-}
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 3408121..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 Boolean.TRUE;
-			}
-		}
-		
-		Shell shell = DebugUIPlugin.getShell();
-		String title = LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_0; 
-		String message = LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_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 Boolean.TRUE;
-			}
-		}
-
-		MessageDialogWithToggle dialog = new MessageDialogWithToggle(shell, title, null, message, MessageDialog.WARNING,
-				new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}, 1, null, false);
-		dialog.setPrefKey(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR);
-		dialog.setPrefStore(store);
-		dialog.open();
-		
-		int returnValue = dialog.getReturnCode();
-		if (returnValue == IDialogConstants.YES_ID) {
-			return Boolean.TRUE;
-		}
-		return 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 8ff7609..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CreateLaunchConfigurationAction.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-import org.eclipse.jface.resource.ImageDescriptor;
-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.CreateLaunchConfigurationAction_Ne_w_1, viewer, mode); 
-	}
-
-	/**
-	 * @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.CreateLaunchConfigurationAction_New_configuration_2)); 
-			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;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getDisabledImageDescriptor()
-	 */
-	public ImageDescriptor getDisabledImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_NEW_CONFIG);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_NEW_CONFIG);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return LaunchConfigurationsMessages.LaunchConfigurationsDialog_0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getText()
-	 */
-	public String getText() {
-		return LaunchConfigurationsMessages.LaunchConfigurationDialog_Ne_w_13;
-	}
-}
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 b56132a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 Boolean.FALSE;
-			}	
-		}
-		
-		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 Boolean.FALSE;
-            } else if (pref.equals(MessageDialogWithToggle.ALWAYS)) { 
-                relaunchInDebugMode(configuration);
-                return Boolean.TRUE;
-            }
-        }
-        
-		Shell activeShell = DebugUIPlugin.getShell();
-		String title = LaunchConfigurationsMessages.DebugModePromptStatusHandler_0; 
-		String message = LaunchConfigurationsMessages.DebugModePromptStatusHandler_1; 
-		
-		MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoCancelQuestion(activeShell, title, message, null, false, store, IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE); 
-		int buttonId = dialog.getReturnCode();
-		if (buttonId == IDialogConstants.YES_ID) { 
-			relaunchInDebugMode(configuration);
-			return Boolean.TRUE; // stops launch
-		} else if (buttonId == IDialogConstants.NO_ID) {
-			return Boolean.FALSE; // continue launch
-		} else { //CANCEL 
-			return 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/DeleteAssociatedLaunchConfigurationsDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteAssociatedLaunchConfigurationsDialog.java
deleted file mode 100644
index 6916d1f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteAssociatedLaunchConfigurationsDialog.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.model.AdaptableList;
-
-/**
- * Provides a custom dialog for displaying launch configurations seperated by project
- * in a tree view for the user to select
- * @since 3.2
- */
-public class DeleteAssociatedLaunchConfigurationsDialog extends SelectionDialog {
-	/**
-	 * Class to provide content for the DeleteAssociatedLaunchConfigsDialog
-	 */
-	class DeleteContentProvider implements ITreeContentProvider {
-
-		private HashMap fInputMap = new HashMap();
-		
-		public DeleteContentProvider(HashMap map) {
-			if(map != null) {
-				fInputMap = map;
-			}
-		}
-		
-		public Object[] getChildren(Object parentElement) {
-			if(parentElement instanceof IProject) {
-				return ((ArrayList)fInputMap.get(parentElement)).toArray();
-			}
-			if(parentElement instanceof AdaptableList) {
-				return fInputMap.keySet().toArray();
-			}
-			return new Object[0];
-		}
-
-		public Object getParent(Object element) {return null;}
-
-		public boolean hasChildren(Object element) {
-			if(element instanceof IProject) {
-				return true;
-			}
-			return false;
-		}
-
-		public Object[] getElements(Object inputElement) {
-			return getChildren(inputElement);
-		}
-
-		public void dispose() {
-			fInputMap.clear();
-			fInputMap = null;
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-		
-	}
-	
-	/**
-	 * Provides a custom viewer for the dialog whic allows us to have custom checked state handling
-	 */
-	class LCViewer extends CheckboxTreeViewer {
-
-		/**
-		 * Constructor
-		 * @param parent the parent to add this viewer to
-		 * @param style the style of the viewer
-		 */
-		public LCViewer(Composite parent, int style) {
-			super(parent, style);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.CheckboxTreeViewer#getCheckedElements()
-		 */
-		public Object[] getCheckedElements() {
-			Object[] items = super.getCheckedElements();
-			//filter out the projects
-			ArrayList list = new ArrayList();
-			for (int i = 0; i < items.length; i++) {
-				if(items[i] instanceof ILaunchConfiguration) {
-					list.add(items[i]);
-				}
-			}
-			return list.toArray();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.CheckboxTreeViewer#handleSelect(org.eclipse.swt.events.SelectionEvent)
-		 */
-		protected void handleSelect(SelectionEvent event) {
-			if(event.detail == SWT.CHECK) {
-				updateCheckedState((TreeItem)event.item);
-			}
-		}
-		
-		 /**
-	     * Update the checked state up the given element and all of its children.
-	     * 
-	     * @param element
-	     */
-	    public void updateCheckedState(TreeItem item) {
-	        Object element = item.getData();
-	        if (element instanceof ILaunchConfiguration) {
-            	TreeItem parent = item.getParentItem();
-                TreeItem[] children = parent.getItems();
-                int checked = 0;
-                for (int i = 0; i < children.length; i++) {
-					if(children[i].getChecked()) {
-						checked++;
-					}
-				}
-                if(checked == 0) {
-	                setGrayChecked(parent.getData(), false);
-                }
-                else if(checked == children.length) {
-                	parent.setGrayed(false);
-	                parent.setChecked(true);
-                }
-                else {
-                	setGrayChecked(parent.getData(), true);
-                }
-	        } 
-	        else if (element instanceof IProject) {
-	        	item.setGrayed(false);
-	        	TreeItem[] children = item.getItems();
-	        	for (int i = 0; i < children.length; i++) {
-					setChecked(children[i].getData(), item.getChecked());
-	        	}
-	        }
-	    }
-	}
-	
-	private static final String SETTINGS_ID = ".DELETE_ASSOCIATED_CONFIGS_DIALOG"; //$NON-NLS-1$
-	private HashMap fMap = null;
-	private Object fInput = null;
-	private Button fPrefButton = null;
-	private LCViewer fViewer = null;
-	private Object[] fResult = null;
-	
-	/**
-	 * Constructor
-	 * @param parentShell the parent shell for this dialog
-	 * @param input the input for the viewer
-	 * @param message the message for the top of the dialog
-	 * @param map the map of project to listing of configs
-	 */
-	public DeleteAssociatedLaunchConfigurationsDialog(Shell parentShell, Object input, String message, HashMap map) {
-		super(parentShell);
-		super.setMessage(message);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		fMap = map;
-		fInput = input;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.SelectionDialog#getDialogBoundsSettings()
-	 */
-	protected IDialogSettings getDialogBoundsSettings() {
-		IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-		IDialogSettings section = settings.getSection(SETTINGS_ID);
-		if (section == null) {
-			section = settings.addNewSection(SETTINGS_ID);
-		} 
-		return section;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.ListDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		initializeDialogUnits(parent);
-		Composite comp = (Composite) super.createDialogArea(parent);
-		SWTUtil.createLabel(comp, LaunchConfigurationsMessages.DeleteAssociatedLaunchConfigurationsDialog_0, 2);
-		fViewer = new LCViewer(comp, SWT.BORDER);
-		Tree tree = fViewer.getTree();
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = 2;
-		tree.setLayoutData(gd);
-		fViewer.setContentProvider(new DeleteContentProvider(fMap));
-		fViewer.setInput(fInput);
-		fViewer.setLabelProvider(DebugUITools.newDebugModelPresentation());
-		fViewer.expandAll();
-		Composite butcomp = new Composite(comp, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		butcomp.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		butcomp.setLayoutData(gd);
-		Button sall = SWTUtil.createPushButton(butcomp, LaunchConfigurationsMessages.DeleteAssociatedLaunchConfigurationsDialog_1, null);
-		sall.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {}
-			public void widgetSelected(SelectionEvent e) {
-				fViewer.setGrayedElements(new Object[0]);
-				fViewer.setAllChecked(true);
-			}			
-		});
-		Button dsall = SWTUtil.createPushButton(butcomp, LaunchConfigurationsMessages.DeleteAssociatedLaunchConfigurationsDialog_2, null);
-		dsall.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {}
-			public void widgetSelected(SelectionEvent e) {
-				fViewer.setAllChecked(false);
-			}			
-		});
-		fPrefButton = new Button(comp, SWT.CHECK);
-		fPrefButton.setText(LaunchConfigurationsMessages.DeleteAssociatedLaunchConfigurationsDialog_3);
-		Dialog.applyDialogFont(comp);
-		return comp;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.SelectionDialog#getResult()
-	 */
-	public Object[] getResult() {
-		return fResult;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.ListDialog#okPressed()
-	 */
-	protected void okPressed() {
-		fResult = fViewer.getCheckedElements();
-		//set pref if selected
-		boolean pref = fPrefButton.getSelection();
-		if(pref) {
-			IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore(); 
-			store.setValue(IInternalDebugUIConstants.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, MessageDialogWithToggle.ALWAYS);
-		}
-		super.okPressed();
-	}
-}
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 c649429..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationAction.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-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.LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configurations__1 : LaunchConfigurationsMessages.LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configuration__2; // 
-			return MessageDialog.openQuestion(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Confirm_Launch_Configuration_Deletion_3, dialogMessage); 
-		}
-
-	}
-	
-	/**
-	 * Constructs an action to delete launch configuration(s) 
-	 */
-	public DeleteLaunchConfigurationAction(Viewer viewer, String mode) {
-		super(LaunchConfigurationsMessages.DeleteLaunchConfigurationAction_Dele_te_1, viewer, mode); 
-		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;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getDisabledImageDescriptor()
-	 */
-	public ImageDescriptor getDisabledImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DELETE_CONFIG);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DELETE_CONFIG);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return LaunchConfigurationsMessages.LaunchConfigurationsDialog_1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getText()
-	 */
-	public String getText() {
-		return LaunchConfigurationsMessages.LaunchConfigurationDialog_Dele_te_14;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationStatusHandler.java
deleted file mode 100644
index 4a80c23..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationStatusHandler.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-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.debug.core.DebugPlugin;
-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.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.ui.model.AdaptableList;
-
-/**
- * Provides a status handler to prompt the user to delete any launch configurations
- * for the associated project that is about to be deleted, for more information
- * see <code>LaunchManager#preDelete(IProject)</code>.
- * 
- * @since 3.2
- *
- */
-public class DeleteLaunchConfigurationStatusHandler 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 {
-		String pref = DebugUIPlugin.getDefault().getPreferenceStore().getString(IInternalDebugUIConstants.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE);
-		if(source instanceof IProject[]) {
-			IProject[] projects = (IProject[])source;
-			ArrayList configs =  new ArrayList();
-			ArrayList elements = null;
-			HashMap map = new HashMap();
-			for (int i = 0; i < projects.length; i++) {
-				elements = collectAssociatedLaunches(projects[i]);
-				if(!elements.isEmpty()) {
-					map.put(projects[i], elements);
-					configs.addAll(elements);
-				}
-			}
-			if(configs.size() > 0) {
-				if(pref.equals(MessageDialogWithToggle.PROMPT)) {
-					DeleteAssociatedLaunchConfigurationsDialog lsd = new DeleteAssociatedLaunchConfigurationsDialog(DebugUIPlugin.getShell(),
-							new AdaptableList(configs),
-							LaunchConfigurationsMessages.DeleteLaunchConfigurations_0, 
-							map);
-					lsd.setInitialSelections(configs.toArray());
-					lsd.setTitle(LaunchConfigurationsMessages.DeleteLaunchConfigurations_1);
-					if(lsd.open() == IDialogConstants.OK_ID) {
-						doDelete(lsd.getResult());
-					}
-				}
-				else if(pref.equals(MessageDialogWithToggle.ALWAYS)){
-					doDelete(configs.toArray());
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the launch configuration associated with the specified project.
-	 * This method relies on the resource mapping existing, if no such mapping 
-	 * exists the launch configuration is ignored.
-	 * 
-	 * @param project the project to collect launch configurations for
-	 * @return the list of associated launch configurations
-	 */
-	private ArrayList collectAssociatedLaunches(IProject project) {
-		ArrayList list = new ArrayList();
-		try { 
-			ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
-			IResource[] resources = null;
-			for(int i = 0; i < configs.length; i++) {
-				if(configs[i].isLocal()) {
-					resources = configs[i].getMappedResources();
-					if(resources != null) {
-						for(int j = 0; j < resources.length; j++){
-							if(resources[j].equals(project)) {
-								list.add(configs[i]);
-							}
-						}
-					}
-				}
-			}
-		}
-		catch (CoreException e) {
-		    DebugUIPlugin.log(e);
-        }
-		return list;
-	}
-	
-	/**
-	 * Actually performs the deletion of the launch configurations.
-	 * @param launches the launch configurations to delete
-	 */
-	private void doDelete(Object[] launches) {
-		try {
-			for(int i = 0; i < launches.length; i++) {
-				((ILaunchConfiguration)launches[i]).delete();
-			}
-		}
-		catch (CoreException e) {
-            DebugUIPlugin.log(e);
-		}
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeletedProjectFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeletedProjectFilter.java
deleted file mode 100644
index 7c76819..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeletedProjectFilter.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * 
- * Provides implementation to filter unavailable projects form the launch configuration dialog.
- * It is (de) activated via the <code>IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED</code> preference.
- * 
- * @since 3.2
- *
- */
-public class DeletedProjectFilter extends ViewerFilter {
-
-	/**
-	 * Constructor
-	 */
-	public DeletedProjectFilter() {
-		super();
-	}
-
-	/* (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) {
-		//always let through types, we only care about configs
-		if (element instanceof ILaunchConfigurationType) {
-			return true;
-		}
-		if(element instanceof ILaunchConfiguration) {
-			try {
-				ILaunchConfiguration config = (ILaunchConfiguration)element;
-				if(config.exists()) {
-					IResource[] resources = config.getMappedResources();
-					if(resources == null) {
-						return true;
-					}
-					for(int i = 0; i < resources.length; i++) {
-						IProject project= resources[i].getProject();
-						if(project != null && project.exists()) {
-							return true;
-						}
-					}
-				}
-			}
-			catch(CoreException e) {
-			    DebugUIPlugin.log(e);
-            }
-		}
-		return false;
-	}
-
-}
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 7bd97b9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchConfigurationAction.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.resource.ImageDescriptor;
-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.DuplicateLaunchConfigurationAction__Duplicate_1, viewer, mode); 
-	}
-
-	/**
-	 * @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;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getDisabledImageDescriptor()
-	 */
-	public ImageDescriptor getDisabledImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DUPLICATE_CONFIG);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DUPLICATE_CONFIG);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return LaunchConfigurationsMessages.LaunchConfigurationsDialog_5;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getText()
-	 */
-	public String getText() {
-		return LaunchConfigurationsMessages.DuplicateLaunchConfigurationAction__Duplicate_1;
-	}
-
-}
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 c93c3ae..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/EnvironmentVariable.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 Keith Seitz and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 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 b480995..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
+++ /dev/null
@@ -1,547 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-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.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-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.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.PlatformUI;
-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.FavoritesDialog_7); 
-		dialog.setTitle(MessageFormat.format(LaunchConfigurationsMessages.FavoritesDialog_0, new String[]{getModeLabel()})); 
-		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.FavoritesDialog_1, new String[]{getModeLabel()})); 
-		createFavoritesArea(composite);
-		return composite;
-	}
-
-	/**
-	 * Returns a label to use for launch mode with accelerators removed.
-	 * 
-     * @return label to use for launch mode with accelerators removed
-     */
-    private String getModeLabel() {
-        return DebugUIPlugin.removeAccelerators(fHistory.getLaunchGroup().getLabel());
-    }
-
-    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.FavoritesDialog_2); 
-		fFavoritesTable = createTable(topComp, new FavoritesContentProvider());
-		Composite buttonComp = createButtonComposite(topComp);
-		fAddFavoriteButton = createPushButton(buttonComp,LaunchConfigurationsMessages.FavoritesDialog_3); 
-		fAddFavoriteButton.setEnabled(true);
-		fRemoveFavoritesButton = createPushButton(buttonComp, LaunchConfigurationsMessages.FavoritesDialog_4); 
-		fMoveUpButton = createPushButton(buttonComp, LaunchConfigurationsMessages.FavoritesDialog_5); 
-		fMoveDownButton = createPushButton(buttonComp, LaunchConfigurationsMessages.FavoritesDialog_6);  
-	}
-	
-	/**
-	 * 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. Uses scheduled Job format.
-	 * @since 3.2
-	 */
-	public void saveFavorites() {
-		
-		final Job job = new Job(LaunchConfigurationsMessages.FavoritesDialog_8) {
-			protected IStatus run(IProgressMonitor monitor) {
-				ILaunchConfiguration[] initial = getInitialFavorites();
-				List current = getFavorites();
-				String groupId = getLaunchHistory().getLaunchGroup().getIdentifier();
-				
-				int taskSize = Math.abs(initial.length-current.size());//get task size
-				monitor.beginTask(LaunchConfigurationsMessages.FavoritesDialog_8, taskSize);//and set it
-				
-				// removed favorites
-				for (int i = 0; i < initial.length; i++) {
-					ILaunchConfiguration configuration = initial[i];
-					if (!current.contains(configuration)) {
-						// 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);
-							return Status.CANCEL_STATUS;
-						} 
-					}
-					monitor.worked(1);
-				}
-				
-				// 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);
-						return Status.CANCEL_STATUS;
-					}
-					monitor.worked(1);
-				}
-				 
-				fHistory.setFavorites(getArray(current));
-				monitor.done();
-				return Status.OK_STATUS;
-			}			
-		};
-		job.setPriority(Job.LONG);
-		PlatformUI.getWorkbench().getProgressService().showInDialog(getParentShell(), job);
-		job.schedule();
-			
-	}	
-	
-	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.dialogs.Dialog#getDialogBoundsSettings()
-     */
-    protected IDialogSettings getDialogBoundsSettings() {
-    	 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
-	 */
-	private String getDialogSettingsSectionName() {
-		return "FAVORITES_DIALOG_SECTION"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterDropDownMenuCreator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterDropDownMenuCreator.java
deleted file mode 100644
index 969168d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterDropDownMenuCreator.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.preferences.LaunchConfigurationsPreferencePage;
-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.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.preference.PreferenceNode;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-
-/**
- * Creates the drop down menu for the filtering button in the launch configuration dialog
- * @since 3.2
- */
-public class FilterDropDownMenuCreator implements IMenuCreator {
-
-	/**
-	 * Provides wrapper action for filtering actions on the launch configuration dialog
-	 * @since 3.2
-	 */
-	class FilterAction extends Action {
-		
-		/** The preference store. */
-		private IPreferenceStore fStore = null;
-
-		/** The preference key for the value in the store. */
-		private String fKey = null;
-		
-		/**
-		 * Constructor for check style menu items
-		 * @param store the pref store
-		 * @param name the name of the action
-		 * @param key the pref key it is tied to
-		 */
-		public FilterAction(Menu menu, IPreferenceStore store, String name, String key) {
-			super(name, IAction.AS_CHECK_BOX);
-			fStore = store;
-			fKey = key;
-			setChecked(fStore.getBoolean(fKey));
-			fillIntoMenu(menu, this);
-		}
-		
-		/**
-		 * Constructor for flyout menu style actions
-		 * @param menu the parent menu
-		 * @param name the text of the action
-		 * @param creator the menu creator for this action
-		 */
-		public FilterAction(Menu menu, String name, IMenuCreator creator) {
-			super(name, IAction.AS_DROP_DOWN_MENU);
-			setMenuCreator(creator);
-			fillIntoMenu(menu, this);
-		}
-		
-		/**
-		 * fills the new action into the specified menu
-		 * @param menu the parent menu
-		 * @param action the new aciton to fill in to the parent
-		 */
-		private void fillIntoMenu(Menu menu, IAction action) {
-			ActionContributionItem item = new ActionContributionItem(action);
-			item.fill(menu, -1);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.action.Action#run()
-		 */
-		public void run() {
-			if(fStore != null) {
-				fStore.setValue(fKey, isChecked());
-			}
-		}
-	}
-	
-	/**
-	 * the menu created via this class
-	 */
-	private Menu fCreatedMenu = null;
-
-	/**
-	 * gets the DebugUIPlugin preference store
-	 * @return the pref store
-	 */
-	private IPreferenceStore getDebugPrefStore() {
-		return DebugUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#dispose()
-	 */
-	public void dispose() {
-		fCreatedMenu = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
-	 */
-	public Menu getMenu(Control parent) {
-		if(fCreatedMenu != null) {
-			fCreatedMenu.dispose();
-		}
-		//create the menu & items
-		fCreatedMenu = new Menu(parent);
-		new FilterAction(fCreatedMenu, getDebugPrefStore(), LaunchConfigurationsMessages.FilterDropDownMenuCreator_0, IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED);
-		new FilterAction(fCreatedMenu, getDebugPrefStore(), LaunchConfigurationsMessages.FilterDropDownMenuCreator_1, IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED);
-		new FilterAction(fCreatedMenu, getDebugPrefStore(), LaunchConfigurationsMessages.FilterDropDownMenuCreator_2, IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES);
-		new FilterAction(fCreatedMenu, getDebugPrefStore(), LaunchConfigurationsMessages.FilterDropDownMenuCreator_4, IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS);
-		
-		//add separator
-		new MenuItem(fCreatedMenu, SWT.SEPARATOR);
-	
-		//add pref action
-		IAction action = new Action(LaunchConfigurationsMessages.FilterDropDownMenuCreator_3) {
-			public void run() {
-				final IPreferenceNode targetNode = new PreferenceNode("org.eclipse.debug.ui.LaunchConfigurationsPreferencePage",  //$NON-NLS-1$
-						new LaunchConfigurationsPreferencePage());
-				PreferenceManager manager = new PreferenceManager();
-				manager.addToRoot(targetNode);
-				final PreferenceDialog dialog = new PreferenceDialog(DebugUIPlugin.getShell(), manager);
-				BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), new Runnable() {
-					public void run() {
-						dialog.create();
-						dialog.setMessage(targetNode.getLabelText());
-						dialog.open();
-					}
-				});
-			}
-		};
-		new ActionContributionItem(action).fill(fCreatedMenu, -1);
-		return fCreatedMenu;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
-	 */
-	public Menu getMenu(Menu parent) {
-		return fCreatedMenu;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterLaunchConfigurationAction.java
deleted file mode 100644
index 028af82..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterLaunchConfigurationAction.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.preferences.LaunchConfigurationsPreferencePage;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * provides the implementation of the filtering action for the launch configuration view within the 
- * Launch Configuration Dialog
- * @since 3.2
- */
-public class FilterLaunchConfigurationAction extends Action {
-
-	/**
-	 * Action identifier for IDebugView#getAction(String)
-	 */
-	public static final String ID_FILTER_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_FILTER_ACTION"; //$NON-NLS-1$
-	
-	/**
-	 * the menu for this drop down style action
-	 */
-	private FilterDropDownMenuCreator fMenuCreator;
-	
-	/**
-	 * Constructor
-	 * @param text the text for the action
-	 * @param viewer the viewer the action acts upon
-	 * @param mode the mode
-	 */
-	public FilterLaunchConfigurationAction() {
-		super(LaunchConfigurationsMessages.FilterLaunchConfigurationAction_0, IAction.AS_DROP_DOWN_MENU);
-		fMenuCreator = new FilterDropDownMenuCreator();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		SWTUtil.showPreferencePage("org.eclipse.debug.ui.LaunchConfigurations", new LaunchConfigurationsPreferencePage()); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getDescription()
-	 */
-	public String getDescription() {
-		return LaunchConfigurationsMessages.LaunchConfigurationsDialog_4;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getDisabledImageDescriptor()
-	 */
-	public ImageDescriptor getDisabledImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_FILTER_CONFIGS);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_FILTER_CONFIGS);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getMenuCreator()
-	 */
-	public IMenuCreator getMenuCreator() {
-		return fMenuCreator;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return LaunchConfigurationsMessages.LaunchConfigurationsDialog_4;
-	}
-}
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 efe9e24..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-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);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, ID_LAUNCH_BUTTON, getLaunchButtonText(), true);
-		createButton(parent, ID_CLOSE_BUTTON, LaunchConfigurationsMessages.LaunchConfigurationDialog_Close_1, false);  
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#getShellTitle()
-	 */
-	protected String getShellTitle() {
-		return getLaunchConfiguration().getName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#getTitleAreaTitle()
-	 */
-	protected String getTitleAreaTitle() {
-		return LaunchConfigurationsMessages.LaunchConfigurationDialog_Modify_attributes_and_launch__1; 
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#updateButtons()
-	 */
-	public void updateButtons() {
-		// Launch button
-		getTabViewer().refresh();
-		getButton(ID_LAUNCH_BUTTON).setEnabled(getTabViewer().canLaunch());
-		
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#getDialogSettingsSectionName()
-	 */
-	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 08f17b9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
+++ /dev/null
@@ -1,782 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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;
-import org.xml.sax.helpers.DefaultHandler;
-
-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 configuration 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 (DebugUIPlugin.doLaunchConfigurationFiltering(configuration) & !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) {
-				if(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);
-			try {
-				DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-				parser.setErrorHandler(new DefaultHandler());
-				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 appropriate 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 appropriate 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();
-		} 
-		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);
-		}
-		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) {
-		LaunchShortcutExtension shorcutA = (LaunchShortcutExtension)a;
-		String labelA = shorcutA.getLabel();
-		String pathA = shorcutA.getMenuPath();
-		LaunchShortcutExtension shortcutB = (LaunchShortcutExtension)b;
-		String labelB = shortcutB.getLabel();
-		String pathB = shortcutB.getMenuPath();
-		
-		// group by path, then sort by label
-		// a null path sorts last (i.e. highest)
-		if (nullOrEqual(pathA, pathB)) {
-			// 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);
-		}
-		// compare paths
-		if (pathA == null) {
-			return 1;
-		}
-		if (pathB == null) {
-			return -1;
-		}
-		return pathA.compareToIgnoreCase(pathB);
-	}
-	
-	private boolean nullOrEqual(String a, String b) {
-		if (a == null) {
-			return b == null;
-		}
-		return a.equals(b);
-	}
-
-}
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 6f49259..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-import com.ibm.icu.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.LaunchConfigurationPresentationManager_Launch_configuration_tab_group_extension__0__does_not_specify_launch_configuration_type_1, (new String[] {ext.getUniqueIdentifier()})), null); 
-					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.LaunchConfigurationPresentationManager_Launch_configuration_tab_group_extension__0__refers_to_non_existant_launch_configuration_type__1__2, (new String[] {ext.getUniqueIdentifier(), typeId})), null); 
-					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.LaunchConfigurationPresentationManager_No_tab_group_defined_for_launch_configuration_type__0__3, (new String[] {type.getIdentifier()})), null);  
-			 throw new CoreException(status);
-		} 
-		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.LaunchConfigurationPresentationManager_No_tab_group_defined_for_launch_configuration_type__0__3, (new String[] {type.getIdentifier()})), null); 
-			 throw new CoreException(status);
-		} 
-		return ext.getHelpContextId();		
-	}
-	
-	/**
-	 * Returns the description of the given configuration type
-	 * in the specified mode or <code>null</code> if none.
-	 * 
-	 * @param configType the config type
-	 * @param mode the launch mode
-	 * @return the description of the given configuration type, possible <code>null</code>
-	 */
-	public String getDescription(ILaunchConfigurationType configType, String mode) {
-		LaunchConfigurationPresentationManager manager = LaunchConfigurationPresentationManager.getDefault();
-		LaunchConfigurationTabGroupExtension extension = manager.getExtension(configType.getAttribute("id"), mode); //$NON-NLS-1$
-		return (extension != null ? extension.getDescription(mode) : null);
-	}	
-	
-}
-
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 6d8955b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPropertiesDialog.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import com.ibm.icu.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.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.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);
-		fLaunchConfiguration = launchConfiguration;
-		DebugPlugin.getDefault().getLaunchManager().addLaunchConfigurationListener(this);
-	}
-	
-	/**
-	 * Returns the launch configuration being displayed.
-	 * 
-	 * @return ILaunchConfiguration
-	 */
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		return fLaunchConfiguration;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#initializeBounds()
-	 */
-	protected void initializeBounds() {
-		super.initializeBounds();
-		resize();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#initializeContent()
-	 */
-	protected void initializeContent() {
-		getTabViewer().setInput(getLaunchConfiguration());
-		IStatus status = getInitialStatus();
-		if (status != null) {
-			handleStatus(status);
-		}		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#close()
-	 */
-	public boolean close() {
-	    if (!isSafeToClose()) {
-	        return false;
-	    }
-		getBannerImage().dispose();
-		getTabViewer().dispose();
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchConfigurationListener(this);
-		return super.close();
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#addContent(org.eclipse.swt.widgets.Composite)
-	 */
-	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 = 5;
-		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);
-		gd = new GridData(GridData.FILL_BOTH);
-		editAreaComp.setLayoutData(gd);
-		editAreaComp.setFont(dialogComp.getFont());
-		
-		dialogComp.layout(true);
-		applyDialogFont(dialogComp);
-	}
-	
-	/**
-	 * returns the title area title of the dialog
-	 * @return the title area title
-	 */
-	protected String getTitleAreaTitle() {
-		return LaunchConfigurationsMessages.LaunchConfigurationPropertiesDialog_Edit_launch_configuration_properties_1; 
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	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);
-	}
-					
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#getShellTitle()
-	 */
-	protected String getShellTitle() {
-		return MessageFormat.format(LaunchConfigurationsMessages.LaunchConfigurationPropertiesDialog_Properties_for__0__2, new String[]{getLaunchConfiguration().getName()}); 
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.LAUNCH_CONFIGURATION_PROPERTIES_DIALOG;
-	}
-  	 	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#updateButtons()
-	 */
-	public void updateButtons() {
-		getTabViewer().refresh();
-		getButton(IDialogConstants.OK_ID).setEnabled(getTabViewer().canSave());
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		getTabViewer().handleApplyPressed();
-		super.okPressed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#open()
-	 */
-	public int open() {
-		setOpenMode(-1);
-		return super.open();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#getDialogSettingsSectionName()
-	 */
-	protected String getDialogSettingsSectionName() {
-		return IDebugUIConstants.PLUGIN_ID + ".LAUNCH_CONFIGURATION_PROPERTIES_DIALOG_SECTION"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @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
-			fLaunchConfiguration = configuration;
-			getTabViewer().setInput(getLaunchConfiguration());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {}
-
-	/* (non-Javadoc)
-	 * @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 cbb5635..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.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 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 cef59f4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
+++ /dev/null
@@ -1,1236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import com.ibm.icu.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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.preferences.PerspectivePreferencePage;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-import org.eclipse.jface.dialogs.Dialog;
-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.custom.CLabel;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.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.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A viewer that displays tabs for a launch configuration, with apply and revert
- * buttons.
- */
-public class LaunchConfigurationTabGroupViewer extends Viewer {
-	
-	private final String EMPTY_STRING = ""; //$NON-NLS-1$
-	/**
-	 * 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 CTabFolder 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;
-	
-	/**
-	 * A placeholder for switching between the tabs for a config and the getting started tab
-	 * @since 3.2
-	 */
-	private Composite fTabPlaceHolder = null;
-	
-	/**
-	 * A new composite replacing the perspectives tab
-	 * @since 3.2
-	 */
-	private Composite fGettingStarted = null;
-
-	private ViewForm fViewform;
-	
-	/**
-	 * 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();
-			fTabGroup = null;
-			fTabType = 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) {
-		fViewerControl = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 0;
-		fViewerControl.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		fViewerControl.setLayoutData(gd);
-		
-        fViewform = new ViewForm(fViewerControl, SWT.FLAT | SWT.BORDER);
-        layout = new GridLayout(1, false);
-        layout.horizontalSpacing = 0;
-        layout.verticalSpacing = 0;
-        fViewform.setLayout(layout);
-		gd = new GridData(GridData.FILL_BOTH);
-		fViewform.setLayoutData(gd);
-		fVisibleArea = fViewform;
-        fViewform.setTopLeft(null);
-        
-        Composite mainComp = new Composite(fViewform, SWT.FLAT);
-        layout = new GridLayout(1, false);
-        layout.verticalSpacing = 0;
-        layout.horizontalSpacing = 0;
-        mainComp.setLayout(layout);
-        fViewform.setContent(mainComp);
-
-		fTabPlaceHolder = new Composite(mainComp, SWT.NONE);
-		fTabPlaceHolder.setLayout(new StackLayout());
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = 2;
-		fTabPlaceHolder.setLayoutData(gd);
-        
-		fGettingStarted = new Composite(fTabPlaceHolder, SWT.NONE);
-		fGettingStarted.setLayout(new GridLayout());
-		gd = new GridData(GridData.FILL_BOTH);
-		fGettingStarted.setLayoutData(gd);
-		
-		createGettingStarted(fGettingStarted);
-		
-		fTabComposite = new Composite(fTabPlaceHolder, SWT.NONE);
-		layout = new GridLayout(2, false);
-		layout.verticalSpacing = 10;
-		layout.horizontalSpacing = 5;
-		fTabComposite.setLayout(layout);
-		gd = new GridData(GridData.FILL_BOTH);
-		fTabComposite.setLayoutData(gd);
-        
-		fNameLabel = new Label(fTabComposite, SWT.HORIZONTAL | SWT.LEFT);
-		fNameLabel.setText(LaunchConfigurationsMessages.LaunchConfigurationDialog__Name__16); 
-        fNameLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-       
-		fNameWidget = new Text(fTabComposite, SWT.SINGLE | SWT.BORDER);
-        fNameWidget.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        fNameWidget.addModifyListener(new ModifyListener() {
-    				public void modifyText(ModifyEvent e) {
-    					handleNameModified();
-    				}
-    			}
-    		);
-    		
-		createTabFolder(fTabComposite);
-		
-		Composite buttonComp = new Composite(mainComp, 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);
-
-		fApplyButton = new Button(buttonComp, SWT.PUSH);
-		fApplyButton.setText(LaunchConfigurationsMessages.LaunchConfigurationDialog__Apply_17); 
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		fApplyButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fApplyButton);
-		fApplyButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleApplyPressed();
-			}
-		});
-
-		fRevertButton = new Button(buttonComp, SWT.PUSH);
-		fRevertButton.setText(LaunchConfigurationsMessages.LaunchConfigurationDialog_Revert_2);   
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		fRevertButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fRevertButton);
-		fRevertButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleRevertPressed();
-			}
-		});
-        Dialog.applyDialogFont(parent);
-	}
-	
-	/**
-	 * Simple method to create a spacer in the page
-	 * 
-	 * @param composite the composite to add the spacer to
-	 * @param columnSpan the amount of space for the spacer
-	 * @since 3.2
-	 */
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-	
-	/**
-	 * Creates some help text for the tab group launch types
-	 * @param parent thep arent composite
-	 * @since 3.2
-	 */
-	private void createGettingStarted(Composite parent) {
-		Font font = parent.getFont();
-		GridData gd = null;
-		createWrapLabel(parent, null, LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_1);
-		createWrapLabel(parent, DebugUITools.getImage(IInternalDebugUIConstants.IMG_ELCL_NEW_CONFIG), 
-				LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_2);
-		createWrapLabel(parent, DebugUITools.getImage(IInternalDebugUIConstants.IMG_ELCL_DUPLICATE_CONFIG),
-        		LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_6);
-		createWrapLabel(parent, DebugUITools.getImage(IInternalDebugUIConstants.IMG_ELCL_DELETE_CONFIG), 
-				LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_4);
-        createWrapLabel(parent, DebugUITools.getImage(IInternalDebugUIConstants.IMG_ELCL_FILTER_CONFIGS),
-        		LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_8);
-        createWrapLabel(parent, DebugUITools.getImage(IInternalDebugUIConstants.IMG_OVR_TRANSPARENT), 
-        		LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_3);
-        
-		createSpacer(parent, 2);
-		Link link = new Link(parent, SWT.LEFT | SWT.WRAP);
-		link.setText(LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_5);
-		link.setFont(font);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = parent.getBounds().width - 30;
-		link.setLayoutData(gd);
-		link.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				SWTUtil.showPreferencePage("org.eclipse.debug.ui.PerspectivePreferencePage", new PerspectivePreferencePage()); //$NON-NLS-1$
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}
-		});
-	}
-
-    /**
-     * Create a label on the given parent that wraps text.
-     * 
-     * @param parent
-     * @param text
-     */
-    private void createWrapLabel(Composite parent, Image image, String text) {
-    	CLabel lbl = new CLabel(parent, SWT.NONE | SWT.WRAP);
-    	lbl.setImage(image);
-        lbl.setFont(parent.getFont());
-        lbl.setText(text);
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.widthHint = parent.getBounds().width - 30;
-        lbl.setLayoutData(gd);
-    }
-	
-	/**
-	 * Creates the tab folder for displaying config instances
-	 * @param parent
-	 */
-	private void createTabFolder(Composite parent) {
-		if (fTabFolder == null) {
-			Display display = getShell().getDisplay();
-			Color c1 = display.getSystemColor(SWT.COLOR_TITLE_BACKGROUND),
-				  c2 = display.getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT);
-			fTabFolder = new CTabFolder(parent, SWT.NO_REDRAW_RESIZE | SWT.NO_TRIM | SWT.FLAT);
-			GridData gd = new GridData(GridData.FILL_BOTH);
-			gd.horizontalSpan = 2;
-			fTabFolder.setSelectionBackground(new Color[] {c1, c2},	new int[] {100}, true);
-			fTabFolder.setSelectionForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_TITLE_FOREGROUND));
-			fTabFolder.setSimple(PlatformUI.getPreferenceStore().getBoolean(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS));
-			fTabFolder.setLayoutData(gd);
-	        fTabFolder.setBorderVisible(true);
-			fTabFolder.setFont(parent.getFont());
-			fTabFolder.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					if (!fInitializingTabs) {
-						handleTabSelected();
-					}
-				}
-			});	
-		}
-	}
-	
-	/**
-	 * Returns the apply button
-	 */
-	protected Button getApplyButton() {
-		return fApplyButton;
-	}	
-
-	/**
-	 * Returns the revert button
-	 */
-	protected Button getRevertButton() {
-		return fRevertButton;
-	}	
-	
-	/**
-	 * Sets the tab folder
-	 */
-	protected CTabFolder getTabFolder() {
-		return fTabFolder;
-	}
-	
-	/**
-	 * Sets the current name
-	 */
-	public void setName(String name) {
-		if (getWorkingCopy() != null) {
-			if (name == null) {
-				name = EMPTY_STRING;
-			}
-			fNameWidget.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();
-		} 
-		return new StructuredSelection(getActiveTab());
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.Viewer#refresh()
-	 */
-	public void refresh() {
-		if (fInitializingTabs) {
-			return;
-		}
-		
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (!fInitializingTabs && tabs != null) {
-			// update the working copy from the active tab
-			getActiveTab().performApply(getWorkingCopy());
-			updateButtons();
-			// update error ticks
-			for (int i = 0; i < tabs.length; i++) {
-				ILaunchConfigurationTab tab = tabs[i];
-				tab.isValid(getWorkingCopy());
-				boolean error = tab.getErrorMessage() != null;
-				CTabItem item = fTabFolder.getItem(i);
-				setTabIcon(item, error, tab);
-			}		
-		}
-	}
-
-	/**
-	 * updates the button states
-	 */
-	private void updateButtons() {
-		boolean dirty = isDirty();
-		fApplyButton.setEnabled(dirty && canSave());
-		fRevertButton.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(CTabItem tabItem, boolean error, ILaunchConfigurationTab tab) {
-		Image image = null;
-		if (error) {
-			image = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getErrorTabImage(tab);
-		} else {
-			image = tab.getImage();
-		}
-		tabItem.setImage(image);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.Viewer#setInput(java.lang.Object)
-	 */
-	public void setInput(Object input) {
-		if (input == null) {
-			if (fInput == null) {
-				return;
-			}
-			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;
-						fOriginal = configuration;
-						fWorkingCopy = configuration.getWorkingCopy();
-						displayInstanceTabs();
-					} else if (fInput instanceof ILaunchConfigurationType) {
-						fDescription = getDescription((ILaunchConfigurationType)fInput);
-						setNoInput();
-						refreshStatus();
-					} else {
-						setNoInput();
-						refreshStatus();
-					}
-					setRedraw(true);
-				} catch (CoreException ce) {
-					errorDialog(ce);
-					setNoInput();
-					setRedraw(true);
-				}
-			}
-		};
-		BusyIndicator.showWhile(getShell().getDisplay(), r);
-	}
-	
-	/**
-	 * Sets the tab group viewer to have no input, this is the case when null is passed as an input type
-	 * Setting no input is equivalent to resetting all items, clearing any messages and showing the 'getting started' pane
-	 * @since 3.2 
-	 */
-	private void setNoInput() {
-		fOriginal = null;
-		fWorkingCopy = null;
-		disposeExistingTabs();	
-		updateButtons();
-		updateVisibleControls(false);
-		ILaunchConfigurationDialog lcd = getLaunchConfigurationDialog();
-		if(lcd instanceof LaunchConfigurationsDialog) {
-			if(((LaunchConfigurationsDialog)lcd).isTreeSelectionEmpty()) {
-				fDescription = EMPTY_STRING;
-			}
-		}
-	}
-	
-	/**
-	 * Updates the visibility of controls based on the status provided 
-	 * @param visible the visibility status to be applied to the controls
-	 */
-	private void updateVisibleControls(boolean visible) {
-		fApplyButton.setVisible(visible);
-		fRevertButton.setVisible(visible);
-		if(visible) {
-			((StackLayout)fTabPlaceHolder.getLayout()).topControl = fTabComposite;
-			fTabComposite.layout();
-		}
-		else {
-			((StackLayout)fTabPlaceHolder.getLayout()).topControl = fGettingStarted;
-		}
-		fTabPlaceHolder.layout(true);
-	}
-	
-    /**
-     * sets the current widget focus to the 'Name' widget
-     */
-    protected void setFocusOnName() {
-        fNameWidget.setFocus();
-        
-    }
-    
-	/**
-	 * Sets if the 
-	 * @param b
-	 */
-	private void setRedraw(boolean b) {
-		if (fRedraw != b) {
-			fRedraw = b;
-			fVisibleArea.setRedraw(fRedraw);
-		}	
-	}	
-	/**
-	 * Displays tabs for the current working copy
-	 */
-	protected void displayInstanceTabs() {
-		// Turn on initializing flag to ignore message updates
-		fInitializingTabs = true;
-
-		ILaunchConfigurationType type = null;
-		try {
-			type = getWorkingCopy().getType();
-			showInstanceTabsFor(type);
-		} catch (CoreException e) {
-			errorDialog(e);
-			fInitializingTabs = false;
-			return;
-		}
-
-		// show the name area
-		updateVisibleControls(true);
-		// Update the name field before to avoid verify error
-		fNameWidget.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.LaunchConfigurationTabGroupViewer_No_tabs_defined_for_launch_configuration_type__0__1, new String[]{type.getName()}), null); 
-			CoreException e = new CoreException(status);
-			errorDialog(e);
-			fInitializingTabs = false;
-			return;
-		}
-
-		// Update the tabs with the new working copy
-		tabGroup.initializeFrom(getWorkingCopy());
-
-		// Update the name field after in case client changed it
-		fNameWidget.setText(getWorkingCopy().getName());
-		
-		fCurrentTabIndex = fTabFolder.getSelectionIndex();
-
-		// Turn off initializing flag to update message
-		fInitializingTabs = false;
-		
-		if (!fVisibleArea.isVisible()) {
-			fVisibleArea.setVisible(true);
-		}
-		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 (fTabType != null && fTabType.equals(configType)) { 
-			return;
-		}
-		
-		// try to keep on same tab
-		Class tabKind = null;
-		if (getActiveTab() != null) {
-			tabKind = getActiveTab().getClass();
-		}
-		
-		// Build the new tabs
-		ILaunchConfigurationTabGroup group = null;
-		try {
-			group = createGroup(configType);
-		} catch (CoreException ce) {
-			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Error_19, LaunchConfigurationsMessages.LaunchConfigurationDialog_Exception_occurred_creating_launch_configuration_tabs_27,ce); // 
-			return;
-		}
-
-		showTabsFor(group);
-		fTabGroup = group;
-		fTabType = configType;
-		
-		// select same tab as before, if possible
-		ILaunchConfigurationTab[] tabs = getTabs();
-		//set the default tab as the first one
-		setActiveTab(tabs[0]);
-		for (int i = 0; i < tabs.length; i++) {
-			ILaunchConfigurationTab tab = tabs[i];
-			if (tab.getClass().equals(tabKind)) {
-				setActiveTab(tab);
-				break;
-			}
-		}
-		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();
-			description = LaunchConfigurationPresentationManager.getDefault().getDescription(configType, mode);
-		}	
-		if (description == null)
-			description = EMPTY_STRING;
-		return description;
-	}
-	
-	/**
-	 * 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();
-
-		fTabGroup = tabGroup;
-
-		// Create the Control for each tab
-		ILaunchConfigurationTab[] tabs = tabGroup.getTabs();
-		CTabItem tab = null;
-		String name = EMPTY_STRING;
-		for (int i = 0; i < tabs.length; i++) {
-			tab = new CTabItem(fTabFolder, SWT.BORDER);
-			name = tabs[i].getName();
-			if (name == null) {
-				name = LaunchConfigurationsMessages.LaunchConfigurationDialog_unspecified_28; 
-			}
-			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;
-							fTabFolder.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() {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (fTabFolder != null && tabs != null) {
-			int pageIndex = fTabFolder.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 (!fInitializingTabs) {
-			getLaunchConfigurationDialog().updateButtons();
-			getLaunchConfigurationDialog().updateMessage();
-		}
-	}	
-	
-	/**
-	 * Returns the containing launch dialog
-	 */
-	protected ILaunchConfigurationDialog getLaunchConfigurationDialog() {
-		return fDialog;
-	}
-
-	/**
-	 * Returns the original launch configuration being edited, possibly
-	 * <code>null</code>.
-	 * 
-	 * @return ILaunchConfiguration
-	 */
-	protected ILaunchConfiguration getOriginal() {
-		return fOriginal;
-	}
-	
-	/**
-	 * 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 (fInitializingTabs) {
-			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(fInitializingTabs) {
-			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 (fInitializingTabs) {
-			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;
-		} 
-		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(DebugUIPlugin.removeAccelerators(tab.getName()));
-				temp.append("]: "); //$NON-NLS-1$
-				temp.append(message);
-				return temp.toString();
-			}
-		}
-		return null;
-	}	
-	
-	/**
-	 * 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 (fInitializingTabs) {
-			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 = fNameWidget.getText().trim();
-	
-			// If there is no name, complain
-			if (currentName.length() < 1) {
-				throw new CoreException(new Status(IStatus.ERROR,
-													 DebugUIPlugin.getUniqueIdentifier(),
-													 0,
-													 LaunchConfigurationsMessages.LaunchConfigurationDialog_Name_required_for_launch_configuration_11, 
-													 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));
-			}
-			
-			// See if name contains any characters that we deem illegal.
-			// '@' and '&' are disallowed because they corrupt menu items.
-			char[] disallowedChars = new char[] { '@', '&' };
-			for (int i = 0; i < disallowedChars.length; i++) {
-				char c = disallowedChars[i];
-				if (currentName.indexOf(c) > -1) {
-					throw new CoreException(new Status(IStatus.ERROR,
-														DebugUIPlugin.getUniqueIdentifier(),
-														0,
-														MessageFormat.format(LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_0, new String[] { new String(new char[] {c}), currentName }), 
-														null));
-				}
-			}
-	
-			// Otherwise, if there's already a config with the same name, complain
-			if (!getOriginal().getName().equals(currentName)) {
-				if (DebugPlugin.getDefault().getLaunchManager().isExistingLaunchConfigurationName(currentName)) {
-					throw new CoreException(new Status(IStatus.ERROR,
-														 DebugUIPlugin.getUniqueIdentifier(),
-														 0,
-														 LaunchConfigurationsMessages.LaunchConfigurationDialog_Launch_configuration_already_exists_with_this_name_12, 
-														 null));
-				}
-			}
-		}
-	}		
-	
-	/**
-	 * Remove the existing tabs that are showing 
-	 */
-	private void disposeExistingTabs() {
-		fDisposingTabs = true;
-        fTabFolder.dispose();
-        fTabFolder = null;
-		createTabFolder(fTabComposite);
-		disposeTabGroup();
-		fDisposingTabs = false;
-	}	
-
-	/**
-	 * 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 (fDisposingTabs || fInitializingTabs) {
-			return;
-		}
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (fCurrentTabIndex == fTabFolder.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 = fTabFolder.getSelectionIndex();
-		SelectionChangedEvent event = new SelectionChangedEvent(this, getSelection());
-		fireSelectionChanged(event);
-	}
-	
-	/**
-	 * Notification the name field has been modified
-	 */
-	protected void handleNameModified() {
-		getWorkingCopy().rename(fNameWidget.getText().trim());
-		refreshStatus();
-	}		
-	
-	/**
-	 * Notification that the 'Apply' button has been pressed
-	 */
-	protected void handleApplyPressed() {
-		try {
-			// trim name
-			Text widget = fNameWidget;
-			String name = widget.getText();
-			String trimmed = name.trim();
-
-			// update launch config
-			fInitializingTabs = true;
-			if (!name.equals(trimmed)) {
-				widget.setText(trimmed);
-			}
-			getWorkingCopy().rename(trimmed);
-			getTabGroup().performApply(getWorkingCopy());
-			fInitializingTabs = false;
-
-			if (isDirty()) {
-				getWorkingCopy().doSave();
-			}
-			updateButtons();
-		} catch (CoreException e) {
-			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Launch_Configuration_Error_46, LaunchConfigurationsMessages.LaunchConfigurationDialog_Exception_occurred_while_saving_launch_configuration_47, e); // 
-			return;
-		}
-	}
-
-	/**
-	 * Notification that the 'Revert' button has been pressed
-	 */
-	protected void handleRevertPressed() {
-		inputChanged(getOriginal());
-	}	
-	
-	/**
-	 * Show an error dialog on the given exception.
-	 *
-	 * @param exception
-	 */
-	protected void errorDialog(CoreException exception) {
-		ErrorDialog.openError(getShell(), null, null, exception.getStatus());
-	}	
-
-	/**
-	 * 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) {
-			fTabFolder.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 1cb7e16..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 58cfd5f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.LaunchConfigurationDialog_Error_19, LaunchConfigurationsMessages.LaunchConfigurationDialog_An_exception_occurred_while_retrieving_launch_configurations_20, e); // 
-			}
-		} 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.LaunchConfigurationDialog_Error_19, LaunchConfigurationsMessages.LaunchConfigurationDialog_An_exception_occurred_while_retrieving_launch_configurations_20, e); // 
-			}
-		} 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;
-		} 
-		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 8a7b3c6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeContribution.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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/LaunchConfigurationTypeFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeFilter.java
deleted file mode 100644
index 86d5d60..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeFilter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-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.IInternalDebugUIConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * Provides the implementation of the filter for filtering the launch configuration viewer based on the preference
- * <code>IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES</code> 
- * 
- * @since 3.2
- */
-public class LaunchConfigurationTypeFilter extends ViewerFilter {
-
-	/**
-	 * Constructor
-	 */
-	public LaunchConfigurationTypeFilter() {
-		super();
-	}
-
-	/* (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) {
-		if(element instanceof ILaunchConfiguration) {
-			return true;
-		}
-		//we only care about launch configuration types
-		if(element instanceof ILaunchConfigurationType) {
-			IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-			String[] types = store.getString(IInternalDebugUIConstants.PREF_FILTER_TYPE_LIST).split("\\,"); //$NON-NLS-1$
-			for(int i = 0; i < types.length; i++) {
-				if(types[i].equals(((ILaunchConfigurationType)element).getIdentifier())) {
-					return false;
-				}
-			}
-			return true;
-		}
-		return false;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypesViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypesViewer.java
deleted file mode 100644
index 8b368bb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypesViewer.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A viewer that displays launch configuration types, filtered by
- * workbench capabilities.
- * 
- * @since 3.1
- */
-public class LaunchConfigurationTypesViewer extends TableViewer {
-	
-	class ContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
-		}
-
-		/* (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) {
-		}
-		
-	}
-
-	/**
-	 * Constructs a viewer to display launch configuration types
-	 * 
-	 * @param parent composite this viewer is contained in
-	 * @param launchGroup the launch group being displayed
-	 */
-	public LaunchConfigurationTypesViewer(Composite parent, ILaunchGroup launchGroup) {
-		super(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		setContentProvider(new ContentProvider());
-		setLabelProvider(DebugUITools.newDebugModelPresentation());
-		setSorter(new ViewerSorter());
-		addFilter(new LaunchGroupFilter(launchGroup));
-		setInput(DebugPlugin.getDefault().getLaunchManager());
-	}
-
-}
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 b8160ff..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationView.java
+++ /dev/null
@@ -1,487 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.help.HelpSystem;
-import org.eclipse.help.IContext;
-import org.eclipse.help.IContextProvider;
-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.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-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.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * A tree view of launch configurations
- */
-public class LaunchConfigurationView extends AbstractDebugView implements ILaunchConfigurationListener {
-	
-	/**
-	 * the viewer from the view
-	 */
-	private Viewer fViewer;
-	
-	/**
-	 * the filtering tree viewer
-	 * 
-	 * @since 3.2
-	 */
-	private FilteredTree fTree;
-	
-	/**
-	 * a handle to the launch manager
-	 * 
-	 * @since 3.2
-	 */
-	private ILaunchManager fLaunchManager = DebugPlugin.getDefault().getLaunchManager();
-	
-	/**
-	 * The launch group to display
-	 */
-	private LaunchGroupExtension fLaunchGroup;
-	
-	/**
-	 * Actions
-	 */
-	private CreateLaunchConfigurationAction fCreateAction;
-	private DeleteLaunchConfigurationAction fDeleteAction;
-	private DuplicateLaunchConfigurationAction fDuplicateAction;
-	private CollapseAllLaunchConfigurationAction fCollapseAllAction;
-	
-	/**
-	 * Action for providing filtering to the Launch Configuraiton Dialog
-	 * @since 3.2
-	 */
-	private FilterLaunchConfigurationAction fFilterAction;
-	
-	/**
-	 * Whether to automatically select configs that are added
-	 */
-	private boolean fAutoSelect = true;
-	
-	/**
-	 * the group of additional filters to be added to the viewer
-	 * @since 3.2
-	 */
-	private ViewerFilter[] fFilters = null;
-	
-	/**
-	 * Constructs a launch configuration view for the given launch group
-	 */
-	public LaunchConfigurationView(LaunchGroupExtension launchGroup) {
-		super();
-		fLaunchGroup = launchGroup;
-	}
-	
-	public LaunchConfigurationView(LaunchGroupExtension launchGroup, ViewerFilter[] filters) {
-		super();
-		fLaunchGroup = launchGroup;
-		fFilters = filters;
-	}
-	
-	/**
-	 * 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) {
-		fTree = new FilteredTree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, new PatternFilter());
-		fTree.setBackground(new Color(parent.getDisplay(), 255, 255, 255));
-		TreeViewer treeViewer = fTree.getViewer();
-		treeViewer.setLabelProvider(DebugUITools.newDebugModelPresentation());
-		treeViewer.setSorter(new WorkbenchViewerSorter());
-		treeViewer.setContentProvider(new LaunchConfigurationTreeContentProvider(fLaunchGroup.getMode(), parent.getShell()));
-		if(fFilters != null) {
-			for (int i = 0; i < fFilters.length; i++) {
-				treeViewer.addFilter(fFilters[i]);
-			}
-		}
-		treeViewer.addFilter(new LaunchGroupFilter(getLaunchGroup()));
-		treeViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
-		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;
-		}
-		String id = computeContextId();
-		if (id!=null)
-			PlatformUI.getWorkbench().getHelpSystem().displayHelp(id);
-	}
-	
-	/*
-	 * Adds support for dynamic help
-	 */
-	
-	public Object getAdapter(Class key) {
-		if (key == IContextProvider.class) {
-			return new IContextProvider () {
-				public int getContextChangeMask() {
-					return SELECTION;
-				}
-
-				public IContext getContext(Object target) {
-					String id = computeContextId();
-					if (id!=null)
-						return HelpSystem.getContext(id);
-					return null;
-				}
-
-				public String getSearchExpression(Object target) {
-					return null;
-				}
-			};
-		}
-		return super.getAdapter(key);
-	}
-	
-	/**
-	 * gets the filtering text control from the viewer
-	 * @return the filtering text control
-	 * 
-	 * @since 3.2
-	 */
-	public Text getFilteringTextControl() {
-		return fTree.getFilterControl();
-	}
-	
-	/**
-	 * Computes the context id for this viewer
-	 * @return the context id
-	 */
-	private String computeContextId() {
-		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) {
-						return helpContextId;
-					}
-				}
-			}
-		} 
-		catch (CoreException ce) {DebugUIPlugin.log(ce);}
-		return null;
-	}
-
-	/**
-	 * @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);
-		
-		fCollapseAllAction = new CollapseAllLaunchConfigurationAction((TreeViewer)getViewer());
-		setAction(CollapseAllLaunchConfigurationAction.ID_COLLAPSEALL_ACTION, fCollapseAllAction);
-		
-		fFilterAction = new FilterLaunchConfigurationAction();
-		setAction(FilterLaunchConfigurationAction.ID_FILTER_ACTION, fFilterAction);
-	}
-
-	/**
-	 * @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();
-		fFilterAction = null;
-		fCollapseAllAction = null;
-		getLaunchManager().removeLaunchConfigurationListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(final ILaunchConfiguration configuration) {
-		try {
-			if (configuration.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false)) {
-				return;
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-			return;
-		}
-		Display display = DebugUIPlugin.getStandardDisplay();
-		if (display.getThread() == Thread.currentThread()) {
-		    // If we're already in the UI thread (user pressing New in the
-		    // dialog), update the tree immediately.
-		    handleConfigurationAdded(configuration);
-		} else {
-	        display.asyncExec(new Runnable() {
-	            public void run() {
-	                handleConfigurationAdded(configuration);
-	            }
-	        });
-		}
-	}
-
-    /**
-     * The given launch configuration has been added. Add it to the tree.
-     * @param configuration the added configuration
-     */
-    private void handleConfigurationAdded(final ILaunchConfiguration configuration) {
-        TreeViewer viewer = getTreeViewer();
-        if (viewer != null) {
-			try {
-                viewer.add(configuration.getType(), configuration);
-                // if moved, remove original now
-                ILaunchConfiguration from = getLaunchManager().getMovedFrom(configuration);
-                if (from != null) {
-                    viewer.remove(from);
-                }
-                if (isAutoSelect()) {
-    				viewer.setSelection(new StructuredSelection(configuration), true);
-    			}
-			} 
-			catch (CoreException e) {}
-        }
-    }
-
-	/**
-	 * @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(final ILaunchConfiguration configuration) {
-		// if moved, ignore
-		ILaunchConfiguration to = getLaunchManager().getMovedTo(configuration);
-		if (to != null) {
-			return;
-		}
-		Display display = DebugUIPlugin.getStandardDisplay();
-		if (display.getThread() == Thread.currentThread()) {
-		    // If we're already in the UI thread (user pressing Delete in the
-		    // dialog), update the tree immediately.
-            handleConfigurationRemoved(configuration);
-		} else {
-			display.asyncExec(new Runnable() {
-		        public void run() {
-		            handleConfigurationRemoved(configuration);
-		        }
-			});
-		}
-	}
-
-	/**
-	 * The given launch configuration has been removed. Remove it from the tree.
-     * @param configuration the deleted configuration
-     */
-    private void handleConfigurationRemoved(ILaunchConfiguration configuration) {
-        ILaunchConfigurationType type = null;
-        TreeViewer viewer = getTreeViewer();
-		int typeIndex = -1; 
-		int configIndex = -1; 		
-		TreeItem[] types = viewer.getTree().getItems();
-		TreeItem[] configs = null;
-		for (int i= 0, numTypes = types.length; (i < numTypes && type == null); i++) {
-			typeIndex = i;
-			configs = types[i].getItems();
-			for (int j= 0, numConfigs= configs.length; j < numConfigs; j++) {
-				if (configuration.equals(configs[j].getData())) {
-					configIndex = j;
-					type = (ILaunchConfigurationType)types[i].getData();
-					break;
-				}
-			}
-		}
-		viewer.remove(configuration);
-		if (getViewer().getSelection().isEmpty()) {
-			IStructuredSelection newSelection= null;
-			if (typeIndex != -1 && configIndex != -1) {
-				// Reset selection to the next config
-				TreeItem[] configItems = viewer.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);
-			}
-			if(isAutoSelect()) {
-				viewer.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());
-		PlatformUI.getWorkbench().getHelpSystem().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;
-	}
-	
-	/**
-	 * returns the launch manager
-	 * @return
-	 */
-	protected ILaunchManager getLaunchManager() {
-		return fLaunchManager;
-	}
-	
-	/**
-	 * 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 affa044..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
+++ /dev/null
@@ -1,1612 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids - Bug 137923
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import java.lang.reflect.InvocationTargetException;
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SafeRunner;
-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.core.IStatusHandler;
-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.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.action.Separator;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.IPageChangeProvider;
-import org.eclipse.jface.dialogs.IPageChangedListener;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.PageChangedEvent;
-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.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.util.SafeRunnable;
-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.StructuredViewer;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.ProgressMonitorPart;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.graphics.Color;
-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.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.WorkbenchJob;
- 
-/**
- * The dialog used to edit and launch launch configurations.
- */
-public class LaunchConfigurationsDialog extends TitleAreaDialog implements ILaunchConfigurationDialog, IPageChangeProvider,  IPropertyChangeListener {
-
-	/**
-	 * Keep track of the currently visible dialog instance
-	 */
-	private static ILaunchConfigurationDialog fgCurrentlyVisibleLaunchConfigurationDialog;
-	/**
-	 * 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;
-	/**
-	 * 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.75f;
-	/**
-	 * 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.56f;
-	/**
-	 * Size of this dialog if there is no preference specifying a size.
-	 */
-	protected static final Point DEFAULT_INITIAL_DIALOG_SIZE = new Point(800, 640);
-	/**
-	 * defines some default sashweights when we have a new workspace
-	 * @since 3.2
-	 */
-	private static final int[] DEFAULT_SASH_WEIGHTS = new int[] {190, 610};
-	/**
-	 * 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;
-	/**
-	 * defines the empty string
-	 * @since 3.2
-	 */
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	/**
-	 * defines the delimiter used in the persistence of the expanded state
-	 * @since 3.2
-	 */
-	private static final String DELIMITER = ", "; //$NON-NLS-1$
-	/**
-	 * 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;
-	
-	/**
-	 * dialog settings
-	 */
-	private static final String DIALOG_SASH_WEIGHTS_1 = IDebugUIConstants.PLUGIN_ID + ".DIALOG_SASH_WEIGHTS_1"; //$NON-NLS-1$
-	private static final String DIALOG_SASH_WEIGHTS_2 = IDebugUIConstants.PLUGIN_ID + ".DIALOG_SASH_WEIGHTS_2"; //$NON-NLS-1$
-	private static final String DIALOG_EXPANDED_NODES = IDebugUIConstants.PLUGIN_ID + ".EXPANDED_NODES"; //$NON-NLS-1$
-	
-	/**
-	 * Returns the currently visible dialog
-	 * @return the currently visible launch dialog
-	 */
-	public static ILaunchConfigurationDialog getCurrentlyVisibleLaunchConfigurationDialog() {
-		return fgCurrentlyVisibleLaunchConfigurationDialog;
-	}
-	/**
-	 * Sets which launch dialog is currently the visible one
-	 * @param dialog the dialog to set as the visible one
-	 */
-	public static void setCurrentlyVisibleLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) {
-		fgCurrentlyVisibleLaunchConfigurationDialog = dialog;
-	}
-	
-	/**
-	 * widgets
-	 */
-	private Control fLastControl;
-	private SashForm fSashForm;
-	private LaunchConfigurationView fLaunchConfigurationView;
-	private LaunchConfigurationTabGroupViewer fTabViewer;
-	private Button fProgressMonitorCancelButton;	
-	private ProgressMonitorPart fProgressMonitorPart;
-	private LaunchGroupExtension fGroup;
-	private Image fBannerImage;
-	
-	/**
-	 * 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;
-
-	/**
-	 * Listener for a list
-	 */
-	private ListenerList changeListeners = new ListenerList();
-	
-	/**
-	 * The number of 'long-running' operations currently taking place in this dialog
-	 */	
-	private long fActiveRunningOperations = 0;
-
-	/**
-	 * Double-click action
-	 */
-	private IAction fDoubleClickAction;
-	
-	/**
-	 * Filters for the LCD
-	 * @since 3.2
-	 */
-	private ClosedProjectFilter fClosedProjectFilter;
-	private DeletedProjectFilter fDeletedProjectFilter;
-	private LaunchConfigurationTypeFilter fLCTFilter;
-	private WorkingSetsFilter fWorkingSetsFilter;
-
-	/**
-	 * 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);
-	}
-
-	/**
-	 * 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(2, false);
-		topLayout.marginHeight = 5;
-		topLayout.marginWidth = 5;
-		topComp.setLayout(topLayout);
-		
-		// Set the things that TitleAreaDialog takes care of 
-		setTitle(LaunchConfigurationsMessages.LaunchConfigurationDialog_Create__manage__and_run_launch_configurations_8); 
-		setMessage(LaunchConfigurationsMessages.LaunchConfigurationDialog_Ready_to_launch_2); 
-		setModeLabelState();
-		
-		// Create the SashForm that contains the selection area on the left,
-		// and the edit area on the right
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = 2;
-		SashForm sash = new SashForm(topComp, SWT.SMOOTH);
-		sash.setOrientation(SWT.HORIZONTAL);
-		sash.setLayoutData(gd);
-		sash.setFont(dialogComp.getFont());
-		sash.setVisible(true);
-		fSashForm = sash;
-		
-		// Build the launch configuration selection area and put it into the composite.
-		Control launchConfigSelectionArea = createLaunchConfigurationSelectionArea(fSashForm);
-		gd = new GridData(GridData.FILL_VERTICAL);
-		launchConfigSelectionArea.setLayoutData(gd);
-		
-		// Build the launch configuration edit area and put it into the composite.
-		Composite editAreaComp = createLaunchConfigurationEditArea(fSashForm);
-		gd = new GridData(GridData.FILL_BOTH);
-		editAreaComp.setLayoutData(gd);
-		
-		dialogComp.layout(true);
-		applyDialogFont(dialogComp);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#addPageChangedListener(org.eclipse.jface.dialogs.IPageChangedListener)
-	 */
-	public void addPageChangedListener(IPageChangedListener listener) {
-		changeListeners.add(listener);
-	}
-	
-	/**
-	 * Handle the 'close' & '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);
-		}
-	}
-
-	/**
-	 * Return whether the current configuration should be saved or discarded.  This involves determining
-	 * if it is dirty, and if it is, asking the user what to do.
-	 * 
-	 * @return if we can discard the current config or not
-	 */
-	private int shouldSaveCurrentConfig() {				
-		if (getTabViewer().isDirty()) {
-			if (getTabViewer().canSave()) {
-				return showSaveChangesDialog();
-			}
-			return showUnsavedChangesDialog();
-		}
-		return IDialogConstants.NO_ID;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-	    if (!isSafeToClose()) {
-	        return false;
-	    }
-	    persistSashWeights();
-	    persistExpansion();
-		setCurrentlyVisibleLaunchConfigurationDialog(null);
-		getBannerImage().dispose();
-		getTabViewer().dispose();
-		if (fLaunchConfigurationView != null) {
-			fLaunchConfigurationView.dispose();
-		}
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		return super.close();
-	}
-	
-	/**
-	 * 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());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#create()
-	 */
-	public void create() {
-		super.create();
-		if (getTabViewer().getInput() == null) {
-			getTabViewer().inputChanged(null);
-		}	
-	}
-	
-	/* (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;
-		layout.marginLeft = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		composite.setFont(font);
-		// create help control if needed
-        if (isHelpAvailable()) {
-        	createHelpControl(composite);
-        }
-		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();
-		fProgressMonitorPart = new ProgressMonitorPart(monitorComposite, pmLayout);
-		fProgressMonitorPart.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fProgressMonitorPart.setFont(font);
-		fProgressMonitorCancelButton = createButton(monitorComposite, ID_CANCEL_BUTTON, LaunchConfigurationsMessages.LaunchConfigurationDialog_Cancel_3, true);
-		fProgressMonitorCancelButton.setFont(font);
-		monitorComposite.setVisible(false);
-
-		/*
-		 * Create the rest of the button bar, but tell it not to
-		 * create a help button (we've already created it).
-		 */
-		boolean helpAvailable = isHelpAvailable();
-		setHelpAvailable(false);
-		super.createButtonBar(composite);
-		setHelpAvailable(helpAvailable);
-		return composite;
-	}
-
-	
-	
-	/**
-	 * 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) {
-		Button button = createButton(parent, ID_LAUNCH_BUTTON, getLaunchButtonText(), true);
-        button.setEnabled(false);
-		createButton(parent, ID_CLOSE_BUTTON, LaunchConfigurationsMessages.LaunchConfigurationDialog_Close_1, false);  
-	}
-	
-	/* (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();
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getDialogArea(), getHelpContextId());
-		return contents;
-	}
-	
-	/* (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;
-	}
-			
-	/**
-	 * 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() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleTabSelectionChanged();
-			}
-		});
-		return (Composite)getTabViewer().getControl();
-	}
-    
-	/**
-	 * Creates all of the actions for the toolbar
-	 * @param toolbar
-	 * @since 3.2
-	 */
-	protected void createToolbarActions(ToolBarManager tmanager) {
-		tmanager.add(getNewAction());
-		tmanager.add(getDuplicateAction());
-		tmanager.add(getDeleteAction());
-		tmanager.add(new Separator());
-		tmanager.add(getCollapseAllAction());
-		tmanager.add(getFilterAction());
-		tmanager.update(true);
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-	}
-    
-	/**
-	 * 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) {
-        Composite comp = new Composite(parent, SWT.FLAT);
-        GridLayout gridLayout = new GridLayout(1, false);
-        gridLayout.marginHeight = 0;
-        gridLayout.marginWidth = 0;
-        comp.setLayout(gridLayout);
-        comp.setLayoutData(new GridData(GridData.FILL_BOTH));
-        
-        ViewForm viewForm = new ViewForm(comp, SWT.FLAT | SWT.BORDER);
-        ToolBar toolBar = new ToolBar(viewForm, SWT.FLAT);
-        toolBar.setBackground(parent.getBackground());
-        ToolBarManager toolBarManager= new ToolBarManager(toolBar);
-        viewForm.setTopLeft(toolBar);
-        viewForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-        
-        Composite viewFormContents = new Composite(viewForm, SWT.FLAT);
-        gridLayout = new GridLayout();
-        gridLayout.marginHeight = 5;
-        gridLayout.marginWidth = 5;
-        viewFormContents.setLayout(gridLayout);
-        viewFormContents.setBackground(new Color(parent.getDisplay(), 255, 255, 255));
-		fLaunchConfigurationView = new LaunchConfigurationView(getLaunchGroup(), createViewerFilters());
-		fLaunchConfigurationView.createLaunchDialogControl(viewFormContents);
-		
-	//create toolbar actions, we reuse the actions from the view so we wait until after
-	//the view is created to add them to the toolbar
-		createToolbarActions(toolBarManager);
-		fDoubleClickAction = new Action() {
-			public void run() {
-				IStructuredSelection selection = (IStructuredSelection)fLaunchConfigurationView.getViewer().getSelection();
-				Object target = selection.getFirstElement();
-				if (target instanceof ILaunchConfiguration) {
-					if (getTabViewer().canLaunch()) {
-						handleLaunchPressed();
-					}
-				} else {
-					getNewAction().run();
-				}
-			}
-		};
-		fLaunchConfigurationView.setAction(IDebugView.DOUBLE_CLICK_ACTION, fDoubleClickAction);
-		Viewer viewer = fLaunchConfigurationView.getViewer();
-		
-		Control control = viewer.getControl();
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		control.setLayoutData(gd);
-        viewForm.setContent(viewFormContents);
-		AbstractLaunchConfigurationAction.IConfirmationRequestor requestor = new AbstractLaunchConfigurationAction.IConfirmationRequestor() {
-			public boolean getConfirmation() {
-				int status = shouldSaveCurrentConfig();
-				return status == IDialogConstants.YES_ID || status == IDialogConstants.NO_ID;
-			}
-		};
-		getDuplicateAction().setConfirmationRequestor(requestor);
-		getNewAction().setConfirmationRequestor(requestor);
-		((StructuredViewer) viewer).addPostSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleLaunchConfigurationSelectionChanged(event);
-				getNewAction().setEnabled(getNewAction().isEnabled());
-				getDeleteAction().setEnabled(getDeleteAction().isEnabled());
-				getDuplicateAction().setEnabled(getDuplicateAction().isEnabled());
-			}
-		});
-		return comp;
-	}	
-
-	/**
-	 * Create the filters to be initially applied to the viewer.
-	 * The initial filters are based on the persisted preferences
-	 * @return the array of initial filters
-	 * @since 3.2
-	 */
-	private ViewerFilter[] createViewerFilters() {
-		ArrayList filters = new ArrayList();
-		fClosedProjectFilter = new ClosedProjectFilter();
-		if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED)) {
-			filters.add(fClosedProjectFilter);
-		}
-		fDeletedProjectFilter = new DeletedProjectFilter();
-		if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED)) {
-			filters.add(fDeletedProjectFilter);
-		}
-		fLCTFilter = new LaunchConfigurationTypeFilter();
-		if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES)) {
-			filters.add(fLCTFilter);
-		}
-		fWorkingSetsFilter = new WorkingSetsFilter();
-		if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS)) {
-			filters.add(fWorkingSetsFilter);
-		}
-		return (ViewerFilter[]) filters.toArray(new ViewerFilter[filters.size()]);
-	} 
-	
-	/**
-	 * Set the initial selection in the tree.
-	 */
-	public void doInitialTreeSelection() {
-		fLaunchConfigurationView.getViewer().setSelection(fInitialSelection);
-	}	
-	
-	/**
-     * Notifies any selection changed listeners that the selected page
-     * has changed.
-     * Only listeners registered at the time this method is called are notified.
-     *
-     * @param event a selection changed event
-     *
-     * @see IPageChangedListener#pageChanged
-     */
-    protected void firePageChanged(final PageChangedEvent event) {
-        Object[] listeners = changeListeners.getListeners();
-        for (int i = 0; i < listeners.length; ++i) {
-            final IPageChangedListener l = (IPageChangedListener) listeners[i];
-            SafeRunner.run(new SafeRunnable() {
-                public void run() {
-                    l.pageChanged(event);
-                }
-            });
-        }
-    }
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#generateName(java.lang.String)
-	 */
-	public String generateName(String name) {
-		if (name == null) {
-			name = EMPTY_STRING;
-		}
-		return getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#getActiveTab()
-	 */
-	public ILaunchConfigurationTab getActiveTab() {
-		return getTabViewer().getActiveTab();
-	}
-	
-	/**
-	 * 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;
-	}
-	
-	/**
-	 * Gets the delete menu action
-	 * 
-	 * @return the delete menu action
-	 */
-	protected AbstractLaunchConfigurationAction getDeleteAction() {
-		return (AbstractLaunchConfigurationAction)fLaunchConfigurationView.getAction(DeleteLaunchConfigurationAction.ID_DELETE_ACTION);
-	}
-
-	/**
-	 * Gets the filter action
-	 * @return the filter menu action
-	 * @since 3.2
-	 */
-	protected IAction getFilterAction() {
-		return fLaunchConfigurationView.getAction(FilterLaunchConfigurationAction.ID_FILTER_ACTION);
-	}
-	
-	/**
-	 * Gets the collapse all action
-	 * @return the collapse all action
-	 * @since 3.2
-	 */
-	protected IAction getCollapseAllAction() {
-		return fLaunchConfigurationView.getAction(CollapseAllLaunchConfigurationAction.ID_COLLAPSEALL_ACTION);
-	}
-	
-	 /* (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
-     * @since 3.2
-     */
-    protected IDialogSettings getDialogBoundsSettings() {
-    	return getDialogSettings();
-    }
-    
-	/**
-	 * Returns the dialog settings for this dialog. Subclasses should override
-	 * <code>getDialogSettingsSectionName()</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$
-	}	
-		
-	/**
-	 * Gets the current display
-	 * 
-	 * @return the display
-	 */
-	protected Display getDisplay() {
-		Shell shell = getShell();
-		if (shell != null) {
-			return shell.getDisplay();
-		} 
-		return Display.getDefault();
-	}
-  	
-  	/**
-  	 * Gets the duplicate menu action
-  	 * 
-  	 * @return the duplicate menu action
-  	 */
-  	protected AbstractLaunchConfigurationAction getDuplicateAction() {
-		return (AbstractLaunchConfigurationAction)fLaunchConfigurationView.getAction(DuplicateLaunchConfigurationAction.ID_DUPLICATE_ACTION);
-	}
-  	
-	/**
-	 * Gets the help context id
-	 * 
-	 * @return the help context id
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG;
-	}
- 
- 	/**
-	 * Returns the status the dialog was opened on or <code>null</code> if none.
-	 * 
-	 * @return IStatus
-	 */
-	protected IStatus getInitialStatus() {
-		return fInitialStatus;
-	}
- 	 	 	
- 	/**
-	 * Return the last launched configuration in the workspace.
-	 * 
-	 * @return the last launched configuration
-	 */
-	protected ILaunchConfiguration getLastLaunchedWorkbenchConfiguration() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLastLaunch(getLaunchGroup().getIdentifier());
-	}
-
- 	/**
-	 * Returns the appropriate text for the launch button - run or debug.
-	 * 
-	 * @return the launch button text
-	 */
-	protected String getLaunchButtonText() {
-		return DebugPlugin.getDefault().getLaunchManager().getLaunchMode(getMode()).getLabel();
-	}
- 	 
- 	/**
-	 * Returns the launch group being displayed.
-	 * 
-	 * @return launch group
-	 */
-	public LaunchGroupExtension getLaunchGroup() {
-		return fGroup;
-	}
- 	 	 	
- 	/* (non-Javadoc)
- 	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#getMode()
- 	 */
- 	public String getMode() {
- 		return getLaunchGroup().getMode();
- 	} 	
- 	
-	/**
-	 * Gets the new menu action
-	 * 
-	 * @return the new menu action
-	 */
-	protected AbstractLaunchConfigurationAction getNewAction() {
-		return (AbstractLaunchConfigurationAction)fLaunchConfigurationView.getAction(CreateLaunchConfigurationAction.ID_CREATE_ACTION);
-	}
-	
-	/**
-	 * returns the open mode
-	 * 
-	 * @return the open mode
-	 */
-	protected int getOpenMode() {
-		return fOpenMode;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#getSelectedPage()
-	 */
-	public Object getSelectedPage() {
-		return getActiveTab();
-	}
-	
-	/**
-	 * Returns the title of the shell
-	 * @return the shell title
-	 */
-	protected String getShellTitle() {
-		String title = DebugUIPlugin.removeAccelerators(getLaunchGroup().getLabel());
-		if (title == null) {
-			title = LaunchConfigurationsMessages.LaunchConfigurationDialog_Launch_Configurations_18; 
-		}
-		return title;
-	}
-
-	/**
- 	 * 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;
- 		} 
- 		return getTabGroup().getTabs();
- 	}
-
-	/**
-	 * Returns the viewer used to display the tabs for a launch configuration.
-	 * 
-	 * @return LaunchConfigurationTabGroupViewer
-	 */
-	protected LaunchConfigurationTabGroupViewer getTabViewer() {
-		return fTabViewer;
-	}
-
-	/**
-	 * Notification the 'Close' button has been pressed.
-	 */
-	protected void handleClosePressed() {
-		int status = shouldSaveCurrentConfig();
-		if(status != IDialogConstants.CANCEL_ID) {
-			if(status == IDialogConstants.YES_ID) {
-				getTabViewer().handleApplyPressed();
-			}
-			cancelPressed();
-		}
-	}
-	
-	/**
-	 * 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) {
- 				Button button = getButton(ID_LAUNCH_BUTTON);
- 				IStructuredSelection structuredSelection = (IStructuredSelection)selection;
- 				if (structuredSelection.size() == 1) {
- 					newInput = structuredSelection.getFirstElement();
- 					button.setEnabled(true);
- 				}
- 				else {
- 					button.setEnabled(false);
- 				}
- 			}
- 		}
- 		if (!isEqual(input, newInput)) {
- 			LaunchConfigurationTabGroupViewer viewer = getTabViewer();
- 			ILaunchConfiguration original = viewer.getOriginal();
- 	 		if (original != null && newInput == null && getLaunchManager().getMovedTo(original) != null) {
- 				return;
- 			}
- 			boolean deleted = false;
- 			if (original != null) {
- 				deleted = !original.exists();
- 			}
-			boolean renamed = false;
-			if (newInput instanceof ILaunchConfiguration) {
-				renamed = getLaunchManager().getMovedFrom((ILaunchConfiguration)newInput) != null;
-			}
-			Object in = input;
- 			if (viewer.isDirty() && !deleted && !renamed) {
- 				if(fLaunchConfigurationView != null) {
- 					fLaunchConfigurationView.setAutoSelect(false);
- 				}
- 				int ret = showUnsavedChangesDialog();
- 				boolean cansave = viewer.canSave();
- 				if(ret == IDialogConstants.YES_ID) {
- 					if(cansave) {
- 						viewer.handleApplyPressed();
- 					}
- 					else {
- 						viewer.handleRevertPressed();
- 					}
- 					in = newInput;
- 				}
- 				else if(ret == IDialogConstants.NO_ID) {
- 					if(cansave) {
- 						viewer.handleRevertPressed();
- 						if(viewer.isDirty()) {
- 							viewer.handleApplyPressed();
- 						}
- 						in = newInput;
- 					}
- 				}
- 				if(fLaunchConfigurationView != null) {
-	 				if(in != null) {
-	 	 				fLaunchConfigurationView.getViewer().setSelection(new StructuredSelection(in));
-	 	 			}
- 					fLaunchConfigurationView.setAutoSelect(true);
- 				}
-  			}
- 			else {
- 				viewer.setInput(newInput);
- 				if(newInput != null) {
-	 				if(viewer.isDirty()) {
-	 					viewer.handleApplyPressed();
-	 				}
-	 				if (getShell() != null && getShell().isVisible()) {
-						resize();
-	 				}
- 				}
- 			}
- 			
- 		}
-  	}
-	
-	/**
-	 * 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();
-		if(config != null) {
-			DebugUITools.launch(config, mode);
-		}
-	}
-
-	/**
-	 * 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.LaunchConfigurationsDialog_Error_1; 
-				break;
-			case IStatus.WARNING:
-				title = LaunchConfigurationsMessages.LaunchConfigurationsDialog_Warning_2; 
-				break;
-			default:
-				title = LaunchConfigurationsMessages.LaunchConfigurationsDialog_Information_3; 
-				break;
-		}
-		ErrorDialog.openError(getShell(), title, null, status);
-	}
-	
-	/**
-	 * Notification that tab selection has changed.
-	 *
-	 */
-	protected void handleTabSelectionChanged() {
-		updateMessage();
-		firePageChanged(new PageChangedEvent(this, getSelectedPage()));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#initializeBounds()
-	 */
-	protected void initializeBounds() {
-		IDialogSettings settings = getDialogSettings();
-		if (fSashForm != null) {
-			int w1, w2;
-			try {
-				w1 = settings.getInt(DIALOG_SASH_WEIGHTS_1);
-				w2 = settings.getInt(DIALOG_SASH_WEIGHTS_2);
-			}
-			catch(NumberFormatException nfe) {
-				w1 = DEFAULT_SASH_WEIGHTS[0];
-				w2 = DEFAULT_SASH_WEIGHTS[1];
-			}
-			fSashForm.setWeights(new int[] {w1, w2});
-		}
-		super.initializeBounds();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.TitleAreaDialog#getInitialSize()
-	 */
-	protected Point getInitialSize() {
-		IDialogSettings settings = getDialogSettings();
-		if(settings.get(DIALOG_SASH_WEIGHTS_1) != null) {
-			return super.getInitialSize();
-		}
-		return DEFAULT_INITIAL_DIALOG_SIZE;
-	}
-
-	/**
-	 * Performs initialization of the content by setting the initial tree selection
-	 */
-	protected void initializeContent() {
-		doInitialTreeSelection();
-		IStatus status = getInitialStatus();
-		if (status != null) {
-			handleStatus(status);
-		}
-		fLaunchConfigurationView.getFilteringTextControl().setFocus();
-		restoreExpansion();
-	}
-	
-	/**
-	 * Compares two objects to determine their equality
-	 * 
-	 * @param o1 the first object
-	 * @param o2 the object to compare to object one
-	 * @return true if they are equal, false if object 1 is null, the result of o1.equals(o2) otherwise
-	 */
-	protected boolean isEqual(Object o1, Object o2) {
-  		if (o1 == o2) {
-  			return true;
-  		} else if (o1 == null) {
-  			return false;
-  		} else {
-  			return o1.equals(o2);
-  		}
-  	}
-
-	/**
-	 * Returns whether the dialog can be closed
-	 * 
-	 * @return whether the dialog can be closed
-	 */
-	protected boolean isSafeToClose() {
-	    return fActiveRunningOperations == 0;
-	}
-	
-	/**
-	 * 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()
-	 * @return the int status of opening the dialog
-	 */
-	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();
-	}
-	
-	/**
-	 * saves which of the nodes are expanded at the time the dialog is closed
-	 * @since 3.2
-	 */
-	protected void persistExpansion() {
-		if(fLaunchConfigurationView != null) {
-			IDialogSettings settings = getDialogSettings();
-			TreeItem[] items = fLaunchConfigurationView.getTreeViewer().getTree().getItems();
-			String value = settings.get(DIALOG_EXPANDED_NODES);
-			if(value == null) {
-				value = EMPTY_STRING;
-			}
-			ArrayList list = new ArrayList();
-			String[] persisted = value.split(DELIMITER); 
-			for(int i = 0; i < persisted.length; i++) {
-				list.add(persisted[i]);
-			}
-			String type = EMPTY_STRING;
-			//if the item is not in the list and is expanded add it, otherwise if it
-			//is not expanded do a remove...either way for the else we query the list
-			for(int i = 0; i < items.length; i++) {
-				type = ((ILaunchConfigurationType)items[i].getData()).getIdentifier();
-				if(!list.contains(type) & items[i].getExpanded()) {
-					list.add(type);
-				}
-				else if(!items[i].getExpanded()) {
-					list.remove(type);
-				}
-			}
-			value = EMPTY_STRING;
-			//build the preference string
-			for(Iterator iter = list.iterator(); iter.hasNext();) {
-				value += iter.next() + DELIMITER;
-			}
-			settings.put(DIALOG_EXPANDED_NODES, value);
-		}
-	}
-	
-	/**
-	 * Restore the original expansion state of the nodes in the viewer
-	 * @since 3.2
-	 */
-	protected void restoreExpansion() {
-		if(fLaunchConfigurationView != null) {
-			IDialogSettings settings = getDialogSettings();
-			String value = settings.get(DIALOG_EXPANDED_NODES);
-			if(value != null) {
-				String[] nodes = value.split(DELIMITER);
-				TreeItem[] items = fLaunchConfigurationView.getTreeViewer().getTree().getItems();
-				ArrayList toexpand = new ArrayList();
-				// if we have a selection make sure it is expanded
-				if(fInitialSelection != null && !fInitialSelection.isEmpty()) {
-					Object obj = fInitialSelection.getFirstElement();
-					if(obj instanceof ILaunchConfigurationType) {
-						toexpand.add(obj);
-					}
-					else if(obj instanceof ILaunchConfiguration) {
-						try {
-							toexpand.add(((ILaunchConfiguration) obj).getType());
-						} 
-						catch (CoreException e) {DebugUIPlugin.log(e);}					
-					}
-				}
-				for(int i = 0; i < nodes.length; i++) {
-					for(int k = 0; k < items.length; k++) {
-						ILaunchConfigurationType type = (ILaunchConfigurationType)items[k].getData();
-						if(type.getIdentifier().equals(nodes[i])) {
-							toexpand.add(type);
-						}
-					}
-				}
-				fLaunchConfigurationView.getTreeViewer().setExpandedElements(toexpand.toArray());
-			}
-		}
-	}
-	
-	/**
-	 * Save the current sash weights
-	 */
-	protected void persistSashWeights() {
-		IDialogSettings settings = getDialogSettings();
-		if (fSashForm != null) {
-			int[] sashWeights = fSashForm.getWeights();
-			settings.put(DIALOG_SASH_WEIGHTS_1, sashWeights[0]);
-			settings.put(DIALOG_SASH_WEIGHTS_2, sashWeights[1]);
-		}
-	}
-	
-	/**
-	 * Update buttons and message.
-	 */
-	protected void refreshStatus() {
-		updateMessage();
-		updateButtons();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#removePageChangedListener(org.eclipse.jface.dialogs.IPageChangedListener)
-	 */
-	public void removePageChangedListener(IPageChangedListener listener) {
-		changeListeners.remove(listener);
-	}
-
-	/**
-	 * resize the dialog to show all relevant content, maintains aspect in all resolutions down to 1024x768
-	 */
-	protected void resize() {
- 		if(getTabGroup() != null) {
- 			Point shell = getShell().getSize();
- 			int maxx = (int)(getDisplay().getBounds().width * MAX_DIALOG_WIDTH_PERCENT),
-				maxy = (int) (getDisplay().getBounds().height * MAX_DIALOG_HEIGHT_PERCENT);
- 			maxx = (maxx < DEFAULT_INITIAL_DIALOG_SIZE.x ? DEFAULT_INITIAL_DIALOG_SIZE.x : maxx);
- 			maxy = (maxy < DEFAULT_INITIAL_DIALOG_SIZE.y ? DEFAULT_INITIAL_DIALOG_SIZE.y : maxy);
- 			Point psize = getShell().computeSize(SWT.DEFAULT, maxy);
- 			if((psize.x > maxx ? maxx : psize.x) > shell.x || (psize.y > maxy ? maxy : psize.y) > shell.y) {
-				setShellSize(Math.min(psize.x, maxx), Math.min(psize.y, maxy));
- 			}
-		}
-	}
-
-	/* (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 (getShell() != null && getShell().isVisible()) {
-			if (getShell() != null) {
-				// Save focus control
-				fLastControl = getShell().getDisplay().getFocusControl();
-				if (fLastControl != null && fLastControl.getShell() != getShell()) {
-					fLastControl = null;
-				}
-				fProgressMonitorCancelButton.setEnabled(true);
-				// Attach the progress monitor part to the cancel button
-				fProgressMonitorPart.attachToCancelComponent(fProgressMonitorCancelButton);
-				fProgressMonitorPart.getParent().setVisible(true);
-				fProgressMonitorCancelButton.setFocus();
-			}
-			fActiveRunningOperations++;
-			try {
-				ModalContext.run(runnable, fork, fProgressMonitorPart, getShell().getDisplay());
-			} 
-			finally {
-				fActiveRunningOperations--;
-				if (getShell() != null) {
-					fProgressMonitorPart.getParent().setVisible(false);
-					fProgressMonitorPart.removeFromCancelComponent(fProgressMonitorCancelButton);
-					if (fLastControl != null) {
-						fLastControl.setFocus();
-					}
-				}
-			}
-		} 
-		else {
-			PlatformUI.getWorkbench().getProgressService().run(fork, cancelable, runnable);
-		}
-	}
-
-	/* (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 initial selection for the dialog when opened in 
-	 * <code>LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION</code> mode.
-	 */
-	public void setInitialSelection(IStructuredSelection selection) {
-		fInitialSelection = selection;
-	}
-	
-	/**
-	 * Sets the status to open the dialog on.
-	 * 
-	 * @param status the initial status for the dialog
-	 */
-	public void setInitialStatus(IStatus status) {
-		fInitialStatus = status;
-	}
-	
-	/**
-	 * Sets the launch group to display.
-	 * 
-	 * @param group launch group
-	 */
-	protected void setLaunchGroup(LaunchGroupExtension group) {
-		fGroup = group;
-	}
-	
-	/**
-	 * Set the title area image based on the mode this dialog was initialized with
-	 */
-	protected void setModeLabelState() {
-		setTitleImage(getBannerImage());
-	}		
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#setName(java.lang.String)
-	 */
-	public void setName(String name) {
-		getTabViewer().setName(name);
-	}
-	
-	/**
-	 * Returns the current launch manager
-	 * @return the current launch manager
-	 */
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-	
-	/**
-	 * 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;
-	}
-
-	/**
- 	 * 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().getMonitor().getBounds();
-		getShell().setSize(Math.min(width, bounds.width), Math.min(height, bounds.height));
-	}
-
-	/**
-	 * Sets the viewer used to display the tabs for a launch configuration.
-	 * 
-	 * @param viewer the new view to set
-	 */
-	protected void setTabViewer(LaunchConfigurationTabGroupViewer viewer) {
-		fTabViewer = viewer;
-	}
-
-	/**
-	 * Create and return a dialog that asks the user whether they want to discard
-	 * unsaved changes.
-	 *   
-	 * @return the return code based on the button selected.
-	 * The value will be one of <code>YES_ID</code> or <code>NO_ID</code> from
-	 * <code>IDialogConstants</code>.
-	 */
-	private int showDiscardChangesDialog() {
-		StringBuffer buffer = new StringBuffer(MessageFormat.format(LaunchConfigurationsMessages.LaunchConfigurationDialog_The_configuration___35, new String[]{getTabViewer().getWorkingCopy().getName()})); 
-		buffer.append(getTabViewer().getErrorMesssage());
-		buffer.append(LaunchConfigurationsMessages.LaunchConfigurationDialog_Do_you_wish_to_discard_changes_37); 
-		MessageDialog dialog = new MessageDialog(getShell(), 
-												 LaunchConfigurationsMessages.LaunchConfigurationDialog_Discard_changes__38, 
-												 null,
-												 buffer.toString(),
-												 MessageDialog.QUESTION,
-												 new String[] {LaunchConfigurationsMessages.LaunchConfigurationDialog_Yes_32, 
-															   LaunchConfigurationsMessages.LaunchConfigurationDialog_No_33},  
-												 1);
-		int val = IDialogConstants.NO_ID;
-		if (dialog.open() == 0) {
-			if (fLaunchConfigurationView != null) {
-				fLaunchConfigurationView.setAutoSelect(false);
-			}
-			getTabViewer().handleRevertPressed();
-			val = IDialogConstants.YES_ID;
-			if (fLaunchConfigurationView != null) {
-				fLaunchConfigurationView.setAutoSelect(true);
-			}
-		}
-		return val;
-	}
-
-	/**
-	 * Create and return a dialog that asks the user whether they want to save
-	 * unsaved changes.  
-	 * 
-	 * @return the return code based on the button selected.
-	 * The value will be one of <code>YES_ID</code>, <code>NO_ID</code>, or <code>CANCEL_ID</code>, from
-	 * <code>IDialogConstants</code>.
-	 */
-	private int showSaveChangesDialog() {
-		String message = MessageFormat.format(LaunchConfigurationsMessages.LaunchConfigurationDialog_The_configuration___29, new String[]{getTabViewer().getWorkingCopy().getName()}); 
-		MessageDialog dialog = new MessageDialog(getShell(), 
-												 LaunchConfigurationsMessages.LaunchConfigurationDialog_Save_changes__31, 
-												 null,
-												 message,
-												 MessageDialog.QUESTION,
-												 new String[] {LaunchConfigurationsMessages.LaunchConfigurationDialog_Yes_32, 
-															   LaunchConfigurationsMessages.LaunchConfigurationDialog_No_33,
-															   LaunchConfigurationsMessages.LaunchConfigurationsDialog_c_ancel},  
-												 0);
-		int ret = dialog.open();
-		int val = IDialogConstants.CANCEL_ID;
-		if (ret == 0 || ret == 1) {
-			if (ret == 0) {
-				val = IDialogConstants.YES_ID;
-			} 
-			else {
-				val = IDialogConstants.NO_ID;
-			}
-		}
-		return val;
-	}
-
-	/**
-	 * 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.
-	 * 
-	 * @return returns the <code>showSaveChangesDialog</code> return value
-	 */
-	private int showUnsavedChangesDialog() {
-		if (getTabViewer().canSave()) {
-			return showSaveChangesDialog();
-		}
-		return showDiscardChangesDialog();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#updateButtons()
-	 */
-	public void updateButtons() {
-		// New, Delete, & Duplicate toolbar actions
- 		getNewAction().setEnabled(getNewAction().isEnabled());
-		getDeleteAction().setEnabled(getDeleteAction().isEnabled());
-		getDuplicateAction().setEnabled(getDuplicateAction().isEnabled());
-		getTabViewer().refresh();
-		getButton(ID_LAUNCH_BUTTON).setEnabled(getTabViewer().canLaunch());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#updateMessage()
-	 */
-	public void updateMessage() {
-		setErrorMessage(getTabViewer().getErrorMesssage());
-		setMessage(getTabViewer().getMessage());	
-	}
-	
-	/**
-	 * Returns if there is a selection in the tree viewer or not
-	 * @return true if something in the tree is selected, false otherwise
-	 * @since 3.2
-	 */
-	public boolean isTreeSelectionEmpty() {
-		return fLaunchConfigurationView.getTreeViewer().getSelection().isEmpty();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(final PropertyChangeEvent event) {
-		WorkbenchJob job = new WorkbenchJob(EMPTY_STRING) {
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				TreeViewer viewer = fLaunchConfigurationView.getTreeViewer();
-				TreeSelection sel = (TreeSelection)viewer.getSelection();
-				TreePath path = null;
-				int pidx = -1, cidx = -1;
-				if(!sel.isEmpty()) {
-					path = sel.getPaths()[0];
-					pidx = findIndexOfParent(path.getFirstSegment());
-					if(path.getSegmentCount() == 2) {
-						cidx = findIndexOfChild(path.getFirstSegment(), path.getLastSegment());
-					}
-				}
-				boolean newvalue = Boolean.valueOf(event.getNewValue().toString()).booleanValue();
-				if(event.getProperty().equals(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED)) {
-					updateFilter(newvalue, fClosedProjectFilter);
-				}
-				else if(event.getProperty().equals(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED)) {
-					updateFilter(newvalue, fDeletedProjectFilter);
-				}
-				else if(event.getProperty().equals(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES)) {
-					updateFilter(newvalue, fLCTFilter);
-				}
-				else if(event.getProperty().equals(IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS)) {
-					updateFilter(newvalue, fWorkingSetsFilter);
-				}
-				else if(event.getProperty().equals(IInternalDebugUIConstants.PREF_FILTER_TYPE_LIST)) {
-					if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES)) {
-						viewer.removeFilter(fLCTFilter);
-						viewer.addFilter(fLCTFilter);
-					}
-				}
-				updateSelection(path, pidx, cidx);
-				return null;
-			}
-		};
-		
-		job.runInUIThread(new NullProgressMonitor());
-	}
-
-	/**
-	 * Updates the state of a filter based on the state variable
-	 * @param state if the filter needs to be added or removed, true indicates add, false indicates remove
-	 * @param filter the filter to update
-	 */
-	private void updateFilter(boolean state, ViewerFilter filter) {
-		TreeViewer viewer = (TreeViewer)fLaunchConfigurationView.getViewer();
-		if(state) {
-			viewer.addFilter(filter);
-		}
-		else {
-			viewer.removeFilter(filter);
-		}
-	}
-	
-	/**
-	 * updates the selection after a filtering has taken place
-	 * @param path the <code>TreePath</code> to the last selected item
-	 * @param pidx the original index of the parent item
-	 * @param cidx the original index of the child item
-	 * @since 3.2
-	 */
-	private void updateSelection(TreePath path, int pidx, int cidx) {
-		TreeViewer viewer = fLaunchConfigurationView.getTreeViewer();
-		Tree tree = viewer.getTree();
-		int pcount = tree.getItemCount();
-		if(tree.getItemCount() == 0) {
-			setErrorMessage(null);
-			setMessage(LaunchConfigurationsMessages.LaunchConfigurationsDialog_7);
-			updateButtons();
-		}
-		else if(path != null) {
-			Object sel = path.getLastSegment();
-			int pidex = findIndexOfParent(path.getFirstSegment());
-			if(path.getSegmentCount() == 1) {
-				if(pidex == -1) {
-					if(pidx > pcount) {
-						pidx = pcount-1;
-					}
-					sel = (pidx == 0 ? tree.getItem(pidx).getData() : tree.getItem(pidx-1).getData());
-				}
-				else {
-					sel = tree.getItem(pidex).getData();
-				}
-			}
-			else {
-				if(pidex == -1) {
-					if(pidx > pcount) {
-						pidx = pcount-1;
-					}
-					sel = (pidx == 0 ? tree.getItem(pidx).getData() : tree.getItem(pidx-1).getData());
-				}
-				else {
-					int cidex = findIndexOfChild(path.getFirstSegment(), path.getLastSegment());
-					TreeItem parent = tree.getItem(pidex);
-					int ccount = parent.getItemCount();
-					if(cidex == -1) {
-						if(parent.getItemCount() == 0) {
-							sel = parent.getData();
-						}
-						else {
-							if(cidx > ccount) {
-								cidx = ccount-1;
-							}
-							sel = (cidx == 0 ? parent.getItem(cidx).getData() : parent.getItem(cidx-1).getData());
-						}
-					}
-					else {
-						sel = parent.getItem(cidex).getData();
-					}
-				}
-			}
-			viewer.setSelection(new StructuredSelection(sel));
-			updateButtons();
-			updateMessage();
-		}
-		else {
-			setErrorMessage(null);
-			setMessage(LaunchConfigurationsMessages.LaunchConfigurationDialog_Ready_to_launch_2);
-		}
-	}
-	
-	/**
-	 * finds the given parent item in the viewer, in this case the parent item will always be an
-	 * <code>ILaunchConfigurationType</code>
-	 * @param parent the parent item to find
-	 * @return the index of the parent item or -1 if not found
-	 * @since 3.2
-	 */
-	private int findIndexOfParent(Object parent) {
-		Tree tree = fLaunchConfigurationView.getTreeViewer().getTree();
-		TreeItem[] roots = tree.getItems();
-		for(int i = 0; i < roots.length; i++) {
-			if(roots[i].getData().equals(parent)) {
-				return i;
-			}
-		}
-		return -1;
-	}
-	
-	/**
-	 * Finds the index of a child item in the entire tree using the parent node and the child node
-	 * derived from a <code>TreePath</code>
-	 * @param parent the parent, in this case always an <code>ILaunchConfigurationType</code>
-	 * @param child the child to find within the parent, in this case always an <code>ILaunchConfiguration,</code>
-	 * @return the index of the child or -1 if not found
-	 * @since 3.2
-	 */
-	private int findIndexOfChild(Object parent, Object child) {
-		Tree tree = fLaunchConfigurationView.getTreeViewer().getTree();
-		int pidx = findIndexOfParent(parent);
-		if(pidx != -1) {
-			TreeItem root = tree.getItem(pidx);
-			TreeItem[] children = root.getItems();
-			Object data = null;
-			for(int j = 0; j < children.length; j++) {
-				data = children[j].getData();
-				if(data != null && data.equals(child)) {
-					return j;
-				}
-			}
-		}
-		return -1;
-	}
-}
\ No newline at end of file
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 01f6c92..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.osgi.util.NLS;
-
-public class LaunchConfigurationsMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsMessages";//$NON-NLS-1$
-
-	public static String CommonTab__Browse_6;
-	public static String CommonTab__Common_15;
-	public static String CommonTab_Display_in_favorites_menu__10;
-	public static String CommonTab_Invalid_shared_configuration_location_14;
-	public static String CommonTab_L_ocal_3;
-	public static String CommonTab_S_hared_4;
-	public static String CommonTab_Select_a_location_for_the_launch_configuration_13;
-	public static String CommonTab_Cannot_save_launch_configuration_in_a_closed_project__1;
-	public static String CommonTab_10;
-	public static String CommonTab_11;
-	public static String CommonTab_12;
-	public static String CommonTab_13;
-	public static String CommonTab_14;
-	public static String CommonTab_0;
-	public static String CommonTab_1;
-	public static String CommonTab_2;
-	public static String CommonTab_3;
-	public static String CommonTab_4;
-	public static String CommonTab_5;
-	public static String CommonTab_6;
-	public static String CommonTab_7;
-	public static String CommonTab_8;
-	public static String CommonTab_9;
-
-	public static String CompileErrorProjectPromptStatusHandler_0;
-
-	public static String CompileErrorProjectPromptStatusHandler_1;
-
-	public static String CompileErrorPromptStatusHandler_0;
-	public static String CompileErrorPromptStatusHandler_1;
-	public static String CompileErrorPromptStatusHandler_2;
-
-	public static String DeleteAssociatedLaunchConfigurationsDialog_0;
-
-	public static String DeleteAssociatedLaunchConfigurationsDialog_1;
-
-	public static String DeleteAssociatedLaunchConfigurationsDialog_2;
-
-	public static String DeleteAssociatedLaunchConfigurationsDialog_3;
-
-	public static String EnvironmentTab_22;
-
-	public static String LaunchConfigurationDialog__Apply_17;
-	public static String LaunchConfigurationDialog__Name__16;
-	public static String LaunchConfigurationDialog_An_exception_occurred_while_retrieving_launch_configurations_20;
-	public static String LaunchConfigurationTabGroupViewer_0;
-	public static String LaunchConfigurationDialog_Create__manage__and_run_launch_configurations_8;
-	public static String LaunchConfigurationDialog_Dele_te_14;
-	public static String LaunchConfigurationDialog_Discard_changes__38;
-	public static String LaunchConfigurationDialog_Do_you_wish_to_discard_changes_37;
-	public static String LaunchConfigurationDialog_Error_19;
-	public static String LaunchConfigurationDialog_Exception_occurred_creating_launch_configuration_tabs_27;
-	public static String LaunchConfigurationDialog_Exception_occurred_while_saving_launch_configuration_47;
-	public static String LaunchConfigurationDialog_Launch_configuration_already_exists_with_this_name_12;
-	public static String LaunchConfigurationDialog_Launch_Configuration_Error_46;
-	public static String LaunchConfigurationDialog_Launch_Configurations_18;
-	public static String LaunchConfigurationDialog_Name_required_for_launch_configuration_11;
-	public static String LaunchConfigurationDialog_Ne_w_13;
-	public static String LaunchConfigurationDialog_No_33;
-	public static String LaunchConfigurationDialog_Ready_to_launch_2;
-	public static String LaunchConfigurationDialog_Save_changes__31;
-	public static String LaunchConfigurationDialog_The_configuration___29;
-	public static String LaunchConfigurationDialog_The_configuration___35;
-	public static String LaunchConfigurationDialog_unspecified_28;
-	public static String LaunchConfigurationDialog_Yes_32;
-	public static String LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configurations__1;
-	public static String LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configuration__2;
-	public static String LaunchConfigurationDialog_Confirm_Launch_Configuration_Deletion_3;
-	public static String LaunchConfigurationDialog_Close_1;
-	public static String LaunchConfigurationDialog_Revert_2;
-	public static String LaunchConfigurationDialog_Cancel_3;
-	public static String LaunchConfigurationDialog_Launch_Con_figurations__1;
-	public static String LaunchConfigurationsDialog_Error_1;
-	public static String LaunchConfigurationsDialog_Warning_2;
-	public static String LaunchConfigurationsDialog_Information_3;
-	public static String LaunchConfigurationsDialog_45;
-	public static String LaunchConfigurationManager_0;
-
-	public static String LaunchConfigurationPresentationManager_Launch_configuration_tab_group_extension__0__does_not_specify_launch_configuration_type_1;
-	public static String LaunchConfigurationPresentationManager_Launch_configuration_tab_group_extension__0__refers_to_non_existant_launch_configuration_type__1__2;
-	public static String LaunchConfigurationPresentationManager_No_tab_group_defined_for_launch_configuration_type__0__3;
-
-	public static String PerspectiveManager_Error_1;
-	public static String PerspectiveManager_Unable_to_switch_perpsectives_as_specified_by_launch___0__4;
-	public static String PerspectiveManager_Unable_to_switch_to_perspective___0__2;
-	public static String PerspectiveManager_9;
-
-	public static String LaunchShortcutExtension_Error_4;
-	public static String LaunchShortcutExtension_Unable_to_use_launch_shortcut_5;
-
-	public static String LaunchConfigurationPropertiesDialog_Edit_launch_configuration_properties_1;
-	public static String LaunchConfigurationPropertiesDialog_Properties_for__0__2;
-
-	public static String LaunchConfigurationDialog_Modify_attributes_and_launch__1;
-
-	public static String LaunchConfigurationTabGroupViewer_No_tabs_defined_for_launch_configuration_type__0__1;
-
-	public static String DuplicateLaunchConfigurationAction__Duplicate_1;
-
-	public static String DeleteLaunchConfigurationAction_Dele_te_1;
-
-	public static String CreateLaunchConfigurationAction_Ne_w_1;
-	public static String CreateLaunchConfigurationAction_New_configuration_2;
-
-	public static String EnvironmentTab_Variable_1;
-	public static String EnvironmentTab_Value_2;
-	public static String EnvironmentTab_Environment_variables_to_set__3;
-	public static String EnvironmentTab_New_4;
-	public static String EnvironmentTab_Edit_5;
-	public static String EnvironmentTab_Remove_6;
-	public static String EnvironmentTab_Environment_7;
-	public static String EnvironmentTab_8;
-	public static String EnvironmentTab_9;
-	public static String EnvironmentTab_11;
-	public static String EnvironmentTab_12;
-	public static String EnvironmentTab_13;
-	public static String EnvironmentTab_16;
-	public static String EnvironmentTab_17;
-	public static String EnvironmentTab_18;
-	public static String EnvironmentTab_19;
-	public static String EnvironmentTab_20;
-
-	public static String FavoritesDialog_1;
-	public static String FavoritesDialog_2;
-	public static String FavoritesDialog_3;
-	public static String FavoritesDialog_4;
-	public static String FavoritesDialog_5;
-	public static String FavoritesDialog_6;
-	public static String FavoritesDialog_7;
-	public static String FavoritesDialog_0;
-
-	public static String OrganizeFavoritesAction_0;
-	public static String PerspectiveManager_12;
-	public static String PerspectiveManager_13;
-	public static String PerspectiveManager_15;
-	public static String PerspectiveManager_suspend_description;
-	public static String PerspectiveManager_launch_description;
-
-	public static String DebugModePromptStatusHandler_0;
-	public static String DebugModePromptStatusHandler_1;
-
-    public static String CommonTab_No_Encoding_Selected;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, LaunchConfigurationsMessages.class);
-	}
-
-	public static String LaunchConfigurationTabGroupViewer_1;
-	public static String LaunchConfigurationTabGroupViewer_2;
-	public static String LaunchConfigurationTabGroupViewer_3;
-	public static String LaunchConfigurationTabGroupViewer_4;
-	public static String LaunchConfigurationTabGroupViewer_5;
-    public static String LaunchConfigurationTabGroupViewer_6;
-
-	public static String SaveScopeResourcesHandler_1;
-
-	public static String SaveScopeResourcesHandler_2;
-	public static String SaveScopeResourcesHandler_3;
-
-	public static String FavoritesDialog_8;
-
-	public static String LaunchConfigurationTabGroupViewer_7;
-
-	public static String LaunchConfigurationsDialog_0;
-
-	public static String LaunchConfigurationsDialog_1;
-
-	public static String LaunchConfigurationsDialog_2;
-
-	public static String LaunchConfigurationsDialog_4;
-
-	public static String DeleteLaunchConfigurations_0;
-
-	public static String DeleteLaunchConfigurations_1;
-
-	public static String FilterLaunchConfigurationAction_0;
-
-	public static String LaunchConfigurationsDialog_7;
-
-	public static String LaunchConfigurationTabGroupViewer_8;
-
-	public static String FilterDropDownMenuCreator_0;
-
-	public static String FilterDropDownMenuCreator_1;
-
-	public static String FilterDropDownMenuCreator_2;
-
-	public static String FilterDropDownMenuCreator_3;
-
-	public static String FilterDropDownMenuCreator_4;
-
-	public static String LaunchConfigurationsDialog_5;
-	public static String LaunchConfigurationsDialog_c_ancel;
-
-	public static String CollapseAllLaunchConfigurationAction_0;
-
-	public static String CollapseAllLaunchConfigurationAction_1;
-
-	public static String CollapseAllLaunchConfigurationAction_2;
-
-}
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 316f1e3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
+++ /dev/null
@@ -1,176 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-CommonTab_No_Encoding_Selected=Console encoding not selected
-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 file
-CommonTab_S_hared_4=S&hared file:
-CommonTab_Select_a_location_for_the_launch_configuration_13=Select a location for the 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
-CommonTab_11=A&ppend
-CommonTab_12=Browse &Workspace...
-CommonTab_13=Select a Resource:
-CommonTab_14=Select a resource to redirect output to:
-CommonTab_0=Save as
-CommonTab_1=Console Encoding
-CommonTab_2=Defa&ult ({0})
-CommonTab_3=Oth&er
-CommonTab_4=Standard Input and Output
-CommonTab_5=&Allocate Console (necessary for input)
-CommonTab_6=Fi&le:
-CommonTab_7=Browse File Syste&m...
-CommonTab_8=No file specified for process output
-CommonTab_9=Variable&s...
-
-CompileErrorPromptStatusHandler_0=Errors in Project{0}
-CompileErrorPromptStatusHandler_1=Errors exist in a required project. Continue launch?
-CompileErrorPromptStatusHandler_2=Errors exist in required project{0}: {1}.\nContinue launch?
-CompileErrorProjectPromptStatusHandler_0=Co&ntinue
-CompileErrorProjectPromptStatusHandler_1=&Always launch without asking
-
-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
-LaunchConfigurationTabGroupViewer_0={0} is an invalid character in launch configuration name {1}
-LaunchConfigurationTabGroupViewer_1=Configure launch settings from this dialog:
-LaunchConfigurationTabGroupViewer_2=- Press the 'New' button to create a configuration of the selected type.
-LaunchConfigurationTabGroupViewer_3=- Edit or view an existing configuration by selecting it.
-LaunchConfigurationTabGroupViewer_4=- Press the 'Delete' button to remove the selected configuration.
-LaunchConfigurationTabGroupViewer_6=- Press the 'Duplicate' button to copy the selected configuration.
-LaunchConfigurationTabGroupViewer_5=Configure launch perspective settings from the <a>Perspectives</a> preference page.
-LaunchConfigurationTabGroupViewer_7=Configure launch configuration filters on the <a>Launch Configurations</a> preference page.
-LaunchConfigurationTabGroupViewer_8=- Press the 'Filter' button to configure filtering options.
-LaunchConfigurationDialog_Create__manage__and_run_launch_configurations_8=Create, manage, and run configurations
-LaunchConfigurationDialog_Dele_te_14=De&lete
-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?
-LaunchConfigurationsDialog_0=New launch configuration
-LaunchConfigurationsDialog_1=Delete selected launch configuration(s)
-LaunchConfigurationsDialog_2=&Filter
-LaunchConfigurationsDialog_4=Filter launch configurations...
-LaunchConfigurationsDialog_5=Duplicates the currently selected launch configuration
-LaunchConfigurationsDialog_c_ancel=Cancel
-LaunchConfigurationsDialog_7=All launch configuration types are currently filtered
-LaunchConfigurationManager_0=Remove Terminated Launches
-
-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 open perspectives as specified by launch: {0}
-PerspectiveManager_Unable_to_switch_to_perspective___0__2=Unable to open 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
-DeleteAssociatedLaunchConfigurationsDialog_0=Select &launch configurations to delete:
-DeleteAssociatedLaunchConfigurationsDialog_1=&Select All
-DeleteAssociatedLaunchConfigurationsDialog_2=&Deselect All
-DeleteAssociatedLaunchConfigurationsDialog_3=&Always delete associated launch configurations
-DeleteLaunchConfigurations_0=The projects associated with the following launch configurations\nhave been deleted. Select launch configurations to delete.
-DeleteLaunchConfigurations_1=Delete Launch Configurations
-
-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
-
-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:
-FavoritesDialog_0=Add {0} Favorites
-FavoritesDialog_8=Updating Favorites...
-
-OrganizeFavoritesAction_0=Organize Fa&vorites...
-PerspectiveManager_12=Confirm Perspective Switch
-PerspectiveManager_13=This kind of launch is configured to open the {0} perspective when it suspends. Do you want to open this perspective now?
-PerspectiveManager_15=This kind of launch is associated with the {0} perspective. Do you want to open this perspective now?
-PerspectiveManager_suspend_description=This kind of launch is configured to open the {0} perspective when it suspends.\n\n{1}\n\nDo you want to open this perspective now?
-PerspectiveManager_launch_description=This kind of launch is associated with the {0} perspective.\n\n{1}\n\nDo you want to open this perspective now?
-
-DebugModePromptStatusHandler_0=Breakpoints in Workspace
-DebugModePromptStatusHandler_1=There are breakpoints enabled in the workspace. Would you rather launch in debug mode?
-SaveScopeResourcesHandler_2=Select resources to save:
-SaveScopeResourcesHandler_3=Save and Launch
-SaveScopeResourcesHandler_1=Always save &resources before launching
-FilterLaunchConfigurationAction_0=Filter
-FilterDropDownMenuCreator_0=Filter &Closed Projects
-FilterDropDownMenuCreator_1=Filter &Deleted/Unavailable Projects
-FilterDropDownMenuCreator_2=Filter Configuration &Types
-FilterDropDownMenuCreator_3=Filtering &Preferences...
-FilterDropDownMenuCreator_4=Apply Window &Working Set(s)
-CollapseAllLaunchConfigurationAction_0=Collapse All
-CollapseAllLaunchConfigurationAction_1=Collapses all expanded launch configurations.
-CollapseAllLaunchConfigurationAction_2=This action collapses all of the launch configurations currently visible and expanded.
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 b1e9beb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupExtension.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-
-/**
- * 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
-	 *  attributes 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) {
-		return DebugUIPlugin.getImageDescriptor(getConfigurationElement(), attribute);
-	}
-	
-	/**
-	 * 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 b97b23c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupFilter.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 b155d66..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-/**
- * 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() && DebugUIPlugin.doLaunchConfigurationFiltering(configuration) && accepts(configuration)) {
-			addHistory(configuration, true);
-			setRecentLaunch(configuration);
-		}
-	}
-	
-	/**
-	 * Adds the given 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() {
-		try {
-			if(fRecentLaunch != null) {
-				if(fRecentLaunch.exists() && DebugUIPlugin.doLaunchConfigurationFiltering(fRecentLaunch) && !WorkbenchActivityHelper.filterItem(new LaunchConfigurationTypeContribution(fRecentLaunch.getType()))) {
-					return fRecentLaunch;
-				}
-			}
-		}
-		catch(CoreException e) {
-            DebugUIPlugin.log(e);
-		}
-		return null;
-	}
-	
-	/**
-	 * 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 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;
-				} 
-				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) || fFavorites.remove(configuration);
-		} 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 ec8bba6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-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.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-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.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.Pair;
-import org.eclipse.debug.internal.ui.actions.LaunchShortcutAction;
-import org.eclipse.debug.ui.ILaunchShortcut;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.IHandlerService;
-
-
-/**
- * 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;
-	
-	/**
-	 * Command handler for launch shortcut key binding.
-	 */
-	private class LaunchCommandHandler extends AbstractHandler {
-	    // the shortcut to invoke
-	    private LaunchShortcutExtension fShortcut;
-	    private String fMode;
-	    
-	    /**
-	     * Constructs a new command handler for the given shortcut
-	     * 
-	     * @param shortcut
-	     */
-	    public LaunchCommandHandler(LaunchShortcutExtension shortcut, String mode) {
-	        fShortcut = shortcut;
-	        fMode = mode;
-	    }
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
-		 */
-		public Object execute(ExecutionEvent event) throws ExecutionException {
-           LaunchShortcutAction action = new LaunchShortcutAction(fMode, fShortcut);
-            if (action.isEnabled()) {
-                action.run();
-            } else {
-                fShortcut.launch(new StructuredSelection(), fMode);
-            }
-            return 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
-	 *  attributes of this launch configuration tab extension
-	 * @return a new launch configuration tab extension
-	 */
-	public LaunchShortcutExtension(IConfigurationElement element) {
-		setConfigurationElement(element);
-		registerLaunchCommandHandlers();
-	}
-	
-	/**
-	 * Registers command handlers for launch shortcut key bindings
-	 */
-    private void registerLaunchCommandHandlers() {
-        Iterator modes = getModes().iterator();
-        IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench().getAdapter(IHandlerService.class);
-        while (modes.hasNext()) {
-            String mode = (String) modes.next();
-            String id = getId() + "." + mode; //$NON-NLS-1$
-	        IHandler handler = new LaunchCommandHandler(this, mode);
-	        handlerService.activateHandler(id, handler);
-        }
-    }	
-	
-	/**
-	 * 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 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) {
-			fImageDescriptor = DebugUIPlugin.getImageDescriptor(getConfigurationElement(), "icon"); //$NON-NLS-1$
-			if (fImageDescriptor == null) {
-				fImageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-			}
-		}
-		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.LaunchShortcutExtension_Error_4, LaunchConfigurationsMessages.LaunchShortcutExtension_Unable_to_use_launch_shortcut_5, e.getStatus()); // 
-			}
-		}
-		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;
-	}
-	
-	/**
-	 * Returns the menu path attribute this shortcut, or <code>null</code> if none
-	 * 
-	 * @return the menu path attribute this shortcut, or <code>null</code> if none
-	 * @since 3.0.1
-	 */
-	public String getMenuPath() {
-		return getConfigurationElement().getAttribute("path"); //$NON-NLS-1$
-	}	
-	
-	/*
-	 * 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.getContributor().getName();
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/MultiLaunchGroupFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/MultiLaunchGroupFilter.java
deleted file mode 100644
index 7ca6555..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/MultiLaunchGroupFilter.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-/**
- * This class extends <code>LaunchGroupFilter</code> by allowing more than one launch group to be used in 
- * the filtering
- * 
- * @since 3.2
- */
-public class MultiLaunchGroupFilter extends ViewerFilter {
-
-	/**
-	 * array of launchgroup extensions to test for filtering against
-	 */
-	private LaunchGroupExtension[] fGroups;
-	
-	public MultiLaunchGroupFilter(LaunchGroupExtension[] groups) {
-		fGroups = groups;
-	}                                                
-	
-	/* (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) {
-		ILaunchConfigurationType type = null;
-		ILaunchConfiguration config = null;
-		boolean priv = false;
-		if (parentElement instanceof ILaunchConfigurationType) {
-			type = (ILaunchConfigurationType)parentElement;
-		}
-		if (element instanceof ILaunchConfigurationType) {
-			type = (ILaunchConfigurationType)element;
-			priv = !type.isPublic();
-		}
-		if (element instanceof ILaunchConfiguration) {
-			config = (ILaunchConfiguration)element;
-			try {
-				type = config.getType();
-				priv = config.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false);
-			} 
-			catch (CoreException e) {}
-		}
-		if (type != null) {
-			return !priv && equalModes(type) && equalCategories(type.getCategory()) && !WorkbenchActivityHelper.filterItem(new LaunchConfigurationTypeContribution(type));
-		}
-		return false;
-	}
-
-	/**
-	 * compares a mode against the modes form the list of group modes
-	 * @param mode the mode to compare
-	 * @return true if the mode matches any one of the modes in the listing, false otherwise
-	 */
-	private boolean equalModes(ILaunchConfigurationType type) {
-		for(int i = 0; i < fGroups.length; i++) {
-			if(type.supportsMode(fGroups[i].getMode())) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * compares a category against those passed in the creation of the filter
-	 * @param category the category to compare
-	 * @return true if the category matches any one fo the categories in the listing, false otherwise
-	 */
-	private boolean equalCategories(String category) {
-		String lcat = null;
-		for(int i = 0; i < fGroups.length; i++) {
-			lcat = fGroups[i].getCategory();
-			if(category == null || lcat == null) {
-				if(category == lcat) {
-					return true;
-				}
-			}
-			else {
-				if(category.equals(lcat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-}
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 5991d5e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/OrganizeFavoritesAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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.OrganizeFavoritesAction_0); 
-		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 4b5ce34..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationFactory.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 4f8b24a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationTypeFactory.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 a0acfe4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
+++ /dev/null
@@ -1,849 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import java.io.IOException;
-import java.io.StringReader;
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.commands.contexts.Context;
-import org.eclipse.core.runtime.CoreException;
-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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerAdapter;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerListener;
-import org.eclipse.debug.internal.ui.views.ViewContextManager;
-import org.eclipse.debug.internal.ui.views.ViewContextService;
-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.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.contexts.IContextActivation;
-import org.eclipse.ui.contexts.IContextService;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * 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, ISuspendTriggerListener {
-		
-	/**
-	 * Table of config types to tables of user specified perspective settings (mode ids
-	 * to perspective ids).
-	 */	
-	private Map fPreferenceMap;
-	
-	// XML tags
-	public static final String ELEMENT_PERSPECTIVES = "launchPerspectives"; //$NON-NLS-1$
-	public static final String ELEMENT_PERSPECTIVE = "launchPerspective"; //$NON-NLS-1$
-	public static final String ATTR_TYPE_ID = "configurationType"; //$NON-NLS-1$
-	public static final String ATTR_MODE_ID = "mode"; //$NON-NLS-1$
-	public 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;
-	private PerspectiveSwitchLock fPerspectiveSwitchLock = new PerspectiveSwitchLock();
-    
-    /**
-     * Maps each launch to its perspective context activation. These
-     * are disabled when a launch terminates.
-     */
-    private Map fLaunchToContextActivations = new HashMap();
-	
-	/**
-	 * Lock used to synchronize perspective switching with view activation.
-	 * Clients wanting to perform an action after a perspective switch should
-	 * schedule jobs with the perspective manager via #schedulePostSwitch(..)
-	 */
-	public class PerspectiveSwitchLock
-	{
-
-		private int fSwitch = 0;
-		private List fJobs = new ArrayList();
-		
-		public synchronized void startSwitch() {
-			fSwitch++;
-		}
-		
-		public synchronized void endSwitch() {
-			fSwitch--;
-			if (fSwitch == 0) {
-				Iterator jobs = fJobs.iterator();
-				while (jobs.hasNext()) {
-					((Job)jobs.next()).schedule();
-				}
-				fJobs.clear();
-			}
-		}
-				
-		public synchronized void schedulePostSwitch(Job job) {
-			if (fSwitch > 0) {
-				fJobs.add(job);	
-			} else {
-				job.schedule();
-			}
-		}
-	}
-	
-	
-	/**
-	 * 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);
-	}
-
-	/**
-	 * 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);
-	}
-
-	/**
-	 * If there are no launches, remove the Suspend Trigger Listener
-	 * 
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public synchronized void launchRemoved(final ILaunch launch) {
-        ISuspendTriggerAdapter trigger = (ISuspendTriggerAdapter) launch.getAdapter(ISuspendTriggerAdapter.class);
-        if (trigger != null) {
-            trigger.removeSuspendTriggerListener(this);
-        }
-        Runnable r= new Runnable() {
-			public void run() {
-		        IContextActivation[] activations = (IContextActivation[]) fLaunchToContextActivations.remove(launch);
-		        if (activations != null) {
-		        	for (int i = 0; i < activations.length; i++) {
-						IContextActivation activation = activations[i];
-						activation.getContextService().deactivateContext(activation);
-					}
-		        }
-			}
-		};
-		async(r);
-	}
-	
-	/**
-	 * 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 synchronized void launchAdded(ILaunch launch) {
-        ISuspendTriggerAdapter trigger = (ISuspendTriggerAdapter) launch.getAdapter(ISuspendTriggerAdapter.class);
-        if (trigger != null) {
-            trigger.addSuspendTriggerListener(this);
-        }
-	    
-	    fPerspectiveSwitchLock.startSwitch();
-	    
-		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() {
-				try
-				{
-					IWorkbenchWindow window = getWindowForPerspective(id);
-					if (id != null && window != null && shouldSwitchPerspectiveForLaunch(window, id)) {
-						switchToPerspective(window, id);
-					}
-				}
-				finally
-				{
-					fPerspectiveSwitchLock.endSwitch();
-				}
-			}
-		});
-	}
-
-
-	/**
-	 * 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.PerspectiveManager_Error_1,  
-			MessageFormat.format(LaunchConfigurationsMessages.PerspectiveManager_Unable_to_switch_to_perspective___0__2, new String[]{id}), 
-			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.PerspectiveManager_Error_1,  
-				 MessageFormat.format(LaunchConfigurationsMessages.PerspectiveManager_Unable_to_switch_perpsectives_as_specified_by_launch___0__4, new String[] {launchName}), 
-				 t);
-			}});
-	}
-	
-	/**
-	 * A breakpoint has been hit. Carry out perspective switching
-	 * as appropriate for the given debug event. 
-	 * 
-	 * @param event the suspend event
-	 */
-	private void handleBreakpointHit(final ILaunch launch) {
-		
-		// Must be called here to indicate that the perspective
-		// may be switching.
-		// Putting this in the async UI call will cause the Perspective
-		// Manager to turn on the lock too late.  Consequently, LaunchViewContextListener
-		// may not know that the perspective will switch and will open view before
-		// the perspective switch.
-		fPerspectiveSwitchLock.startSwitch();
-		
-		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;
-				try{
-				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 (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_ACTIVATE_WORKBENCH)) {
-								if (shell.getMinimized()) {
-									shell.setMinimized(false);
-								}
-								shell.forceActive();
-							}
-						}
-					}
-					if (targetId != null) {
-						// enable the 'perspective contexts' for the suspended launch type
-						Object ca = fLaunchToContextActivations.get(launch);
-						if (ca == null) {
-							ILaunchConfiguration launchConfiguration = launch.getLaunchConfiguration();
-							if (launchConfiguration != null) {
-								try {
-									String type = launchConfiguration.getType().getIdentifier();
-									ViewContextService service = ViewContextManager.getDefault().getService(window);
-									if (service != null) {
-										IContextService contextServce = (IContextService) PlatformUI.getWorkbench().getAdapter(IContextService.class);
-										String[] ids = service.getEnabledPerspectives();
-										IContextActivation[] activations = new IContextActivation[ids.length];
-										for (int i = 0; i < ids.length; i++) {
-											Context context = contextServce.getContext(type + "." + ids[i]); //$NON-NLS-1$
-											if (!context.isDefined()) {
-												context.define(context.getId(), null, null);
-											}
-											IContextActivation activation = contextServce.activateContext(context.getId());
-											activations[i] = activation;
-										}
-										fLaunchToContextActivations.put(launch, activations);
-									}
-								} catch (CoreException e) {
-									DebugUIPlugin.log(e);
-								}
-							}
-						}
-
-					}
-					if (window != null && DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_ACTIVATE_DEBUG_VIEW)) {
-						ViewContextService service = ViewContextManager.getDefault().getService(window);
-						service.showViewQuiet(IDebugUIConstants.ID_DEBUG_VIEW);
-					}
-				}
-				finally
-				{
-					fPerspectiveSwitchLock.endSwitch();
-				}
-			}
-		};
-		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) {
-		String launchMessage;
-		if (getPerspectiveDescription(perspectiveId) != null)
-			launchMessage = LaunchConfigurationsMessages.PerspectiveManager_suspend_description;
-		else
-			launchMessage = LaunchConfigurationsMessages.PerspectiveManager_13;
-			
-		return shouldSwitchPerspective(window, perspectiveId, launchMessage, IInternalDebugUIConstants.PREF_SWITCH_PERSPECTIVE_ON_SUSPEND); 
-	}
-
-	/**
-	 * 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) {
-		String launchMessage;
-		if (getPerspectiveDescription(perspectiveId) != null)
-			launchMessage = LaunchConfigurationsMessages.PerspectiveManager_launch_description;
-		else
-			launchMessage = LaunchConfigurationsMessages.PerspectiveManager_15;
-			
-
-		return shouldSwitchPerspective(window, perspectiveId, launchMessage, IInternalDebugUIConstants.PREF_SWITCH_TO_PERSPECTIVE); 
-	}
-	
-	/**
-	 * 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 perspectiveDesc = getPerspectiveDescription(perspectiveId);
-		String[] args;
-		if (perspectiveDesc != null)
-			args = new String[] { perspectiveName , perspectiveDesc };
-		else 
-			args = new String[] { perspectiveName };
-		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.PerspectiveManager_12, MessageFormat.format(message, args), null, false, DebugUIPlugin.getDefault().getPreferenceStore(), preferenceKey); 
-		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 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 getPerspectiveDescription(String perspectiveId) {
-		IPerspectiveDescriptor newPerspective = PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(perspectiveId);
-		if (newPerspective == null) {
-			return null;
-		}
-		return newPerspective.getDescription();
-	}
-	
-	/** 
-	 * 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.
-	 * 
-	 * @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);			
-		} catch (IOException e) {
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus(LaunchConfigurationsMessages.PerspectiveManager_9, e)); 
-		} catch (ParserConfigurationException e) {
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus(LaunchConfigurationsMessages.PerspectiveManager_9, e)); 
-		} catch (TransformerException e) {
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus(LaunchConfigurationsMessages.PerspectiveManager_9, e)); 
-		}
-	}
-	
-	/**
-	 * 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>
-	 */
-	public 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();
-				parser.setErrorHandler(new DefaultHandler());
-				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);
-			}
-		}
-		
-	}
-	
-	/**
-	 * Schedules the given job after perspective switching is complete, or
-	 * immediately if a perspective switch is not in progress.
-	 * 
-	 * @param job job to run after perspective switching
-	 */
-	public void schedulePostSwitch(Job job) {
-		fPerspectiveSwitchLock.schedulePostSwitch(job);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.ISuspendTriggerListener#suspended(org.eclipse.debug.core.ILaunch, java.lang.Object)
-	 */
-	public void suspended(ILaunch launch, Object context) {
-		handleBreakpointHit(launch);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java
deleted file mode 100644
index 8501ba4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-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.NullProgressMonitor;
-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.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchPartLabelProvider;
-
-/**
- * Status handler to prompt for saving of resources prior to launching.
- * <p>
- * This class provides a behavior breaking function from 3.1. We now perform pre-launch saving for resources
- * scoped to the affected projects of the launch instead of all unsaved resources from within the current workspace.
- * </p>
- * <p>
- * The 'breaking' occurs as the saving is moved from <code>DebugUIPlugin</code> to the launch configuration delegate, which will require
- * implementors of <code>LaunchConfigurationDelegate</code> to incorporate the use of this status handler to perform any prelaunch saving. 
- * </p>
- * @since 3.2
- */
-public class SaveScopeResourcesHandler implements IStatusHandler {
-
-	/**
-	 * Provides a custom class for a resizable selection dialog with a don't ask again button on it
-	 * @since 3.2
-	 */
-	class ScopedResourcesSelectionDialog extends ListSelectionDialog {
-
-		private final String SETTINGS_ID = IDebugUIConstants.PLUGIN_ID + ".SCOPED_SAVE_SELECTION_DIALOG"; //$NON-NLS-1$
-		Button fSavePref;
-		
-		public ScopedResourcesSelectionDialog(Shell parentShell, Object input, IStructuredContentProvider contentProvider, ILabelProvider labelProvider, String message) {
-			super(parentShell, input, contentProvider, labelProvider, message);
-			setShellStyle(getShellStyle() | SWT.RESIZE);
-		}
-		
-		protected Control createDialogArea(Composite parent) {
-			Composite ctrl = (Composite) super.createDialogArea(parent);
-			fSavePref = new Button(ctrl, SWT.CHECK);
-			fSavePref.setText(LaunchConfigurationsMessages.SaveScopeResourcesHandler_1);
-			return ctrl;
-		}
-		
-		protected void okPressed() {
-			IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-			String val = (fSavePref.getSelection() ? MessageDialogWithToggle.ALWAYS : MessageDialogWithToggle.PROMPT);
-			store.setValue(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH, val);
-			super.okPressed();
-		}
-
-		protected IDialogSettings getDialogBoundsSettings() {
-			IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-			IDialogSettings section = settings.getSection(SETTINGS_ID);
-			if (section == null) {
-				section = settings.addNewSection(SETTINGS_ID);
-			} 
-			return section;
-		}
-	}
-	
-	/**
-	 * The objects to save (if any)
-	 */
-	Object[] fSaves = null;
-	
-	/* (non-Javadoc)
-	 * 
-	 * Source object is an array - a launch configuration and an array of projects to save resources for.
-	 * 
-	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object)
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException {
-		// unmarshal config and projets
-		ILaunchConfiguration config = null;
-		IProject[] projects = null;
-		if (source instanceof Object[]) {
-			Object[] objects = (Object[]) source;
-			if (objects.length == 2) {
-				 config = (ILaunchConfiguration) objects[0];
-				 projects = (IProject[]) objects[1];
-			}
-		}
-        if (config != null) {
-            if (DebugUITools.isPrivate(config)) {
-                return Boolean.TRUE;
-            }
-        } 
-        if (projects != null) {
-            IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-            String save = store.getString(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH);
-            int ret = showSaveDialog(projects, !save.equals(MessageDialogWithToggle.NEVER), save.equals(MessageDialogWithToggle.PROMPT));
-            if(ret == IDialogConstants.OK_ID) {
-            	doSave();
-            	return Boolean.TRUE;
-            }
-            return Boolean.FALSE;
-        } 
-        else {
-            DebugUIPlugin.preLaunchSave();
-            return Boolean.TRUE;
-        }
-    }
-	
-	/**
-	 * 
-	 * Builds the list of editors that apply to this build that need to be saved
-	 * 
-	 * @param projects the projects involved in this build, used to scope the searching process
-	 * @return the list of dirty editors for this launch to save, never null
-	 */
-	protected IEditorPart[] getScopedDirtyEditors(IProject[] projects) {
-		List dirtyparts = new ArrayList();
-		IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-		for(int l = 0; l < windows.length; l++) {
-			IWorkbenchPage[] pages = windows[l].getPages();
-			for(int i = 0; i < pages.length; i++) {
-				IEditorPart[] eparts = pages[i].getDirtyEditors();
-				for(int j = 0; j < eparts.length; j++) {
-					IResource resource = (IResource)eparts[j].getEditorInput().getAdapter(IResource.class);
-					if(resource != null) {
-						for(int k = 0; k < projects.length; k++) {
-							if(projects[k].equals(resource.getProject()) & !dirtyparts.contains(eparts[j])) {
-								dirtyparts.add(eparts[j]);
-							}
-						}
-					}
-				}
-			}
-		}
-		return (IEditorPart[])dirtyparts.toArray(new IEditorPart[dirtyparts.size()]);
-	}
-	
-	/**
-	 * Performs the save of the editor parts returned by getScopedResources
-	 */
-	protected void doSave() {
-		if(fSaves != null) {
-			for (int i = 0; i < fSaves.length; i++) {
-				((IEditorPart)fSaves[i]).doSave(new NullProgressMonitor());
-			}
-		}
-	}
-	
-	/**
-	 * show the save dialog with a list of editors to save (if any)
-	 * The dialog is also not shown if the the pref for automatically saving dirty before laucnh is set to always
-	 * @param projects the projects to consider for the save
-	 * @param save if we should save
-	 * @param prompt if we should prompt to save or do it automatically
-	 * @return the dialog status, to be propogated back to the <code>handleStatus</code> method
-	 */
-	protected int showSaveDialog(IProject[] projects, boolean save, boolean prompt) {
-		if(save) {
-			IEditorPart[] editors = getScopedDirtyEditors(projects);
-			if(prompt && (editors.length > 0)) {
-				ScopedResourcesSelectionDialog lsd = new ScopedResourcesSelectionDialog(DebugUIPlugin.getShell(),
-						new AdaptableList(editors),
-						new WorkbenchContentProvider(),
-						new WorkbenchPartLabelProvider(),
-						LaunchConfigurationsMessages.SaveScopeResourcesHandler_2);
-				lsd.setInitialSelections(editors);
-				lsd.setTitle(LaunchConfigurationsMessages.SaveScopeResourcesHandler_3);
-				if(lsd.open() == IDialogConstants.CANCEL_ID) {
-					return IDialogConstants.CANCEL_ID;
-				}
-				fSaves = lsd.getResult();
-			}
-			else {
-				fSaves = editors;
-			}
-		}
-		return IDialogConstants.OK_ID;
-	}
-}
\ No newline at end of file
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 d1a89c6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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;
-			}
-			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.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java
deleted file mode 100644
index a4e55fc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-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.IInternalDebugUIConstants;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * creates a filter for the current working sets in use on the workbench to be applied in the launch configuration
- * dialog and the launch history/last launched
- * 
- * @since 3.2
- */
-public class WorkingSetsFilter extends ViewerFilter {
-	
-	/* (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) {
-		if(element instanceof ILaunchConfigurationType) {
-			return true;
-		}
-		if(element instanceof ILaunchConfiguration) {
-			ILaunchConfiguration config = (ILaunchConfiguration)element;
-			if(config.exists()) {
-				try {
-					IResource[] resources = config.getMappedResources();
-					if(resources == null) {
-						return true;
-					}
-					IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-					if(window == null) {
-						return true;
-					}
-					IWorkbenchPage page = window.getActivePage();
-					if(page == null) {
-						return true;
-					}
-					IWorkingSet[] wsets = page.getWorkingSets();
-					if(wsets.length < 1) {
-						return true;
-					}
-					//remove breakpoint workingsets
-					ArrayList ws = new ArrayList();
-					for (int i = 0; i < wsets.length; i++) {
-						if(!wsets[i].getId().equals(IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET)) {
-							ws.add(wsets[i]);
-						}
-					}
-					if(ws.isEmpty()) {
-						return true;
-					}
-					for (int i = 0; i < resources.length; i++) {
-						if(workingSetContains((IWorkingSet[]) ws.toArray(new IWorkingSet[ws.size()]), resources[i])) {
-							return true;
-						}
-					}
-				} 
-				catch (CoreException e) {DebugUIPlugin.log(e);}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Determines if the specified group of working sets contains the specified resource.
-	 * @param wsets the set of working sets to examine
-	 * @param res the resource to check for containment
-	 * @return true iff any one of the specified working sets contains the specified resource
-	 * @since 3.2
-	 */
-	public static boolean workingSetContains(IWorkingSet[] wsets, IResource res) {
-		ArrayList parents = new ArrayList();
-		parents.add(res);
-		while(res != null) {
-			res = res.getParent();
-			if(res != null) {
-				parents.add(res);
-			}
-		}
-		IResource lres = null;
-		for(int i = 0; i < wsets.length; i++) {	
-			IAdaptable[] elements = wsets[i].getElements();
-			for(int j = 0; j < elements.length; j++) {
-				lres = (IResource)elements[j].getAdapter(IResource.class);
-				if(lres != null) {
-					if(parents.contains(lres)) {
-						return true;
-					}
-				}
-			}
-		}
-		return false;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryBlockConnection.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryBlockConnection.java
deleted file mode 100644
index 2a30b8d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryBlockConnection.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.memory;
-
-/**
- * Represents a connection to a memory block.  An IMemoryRenderingUpdater can call
- * a connection to update instead of relying on a rendering to listen
- * for CHANGE / SUSPEND debug event to trigger an update.
- * 
- * This interface is EXPERIMENTAL.
- *
- */
-public interface IMemoryBlockConnection {
-	
-	/**
-	 * Update the content of a memory block in a connection.
-	 */
-	public void update();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryRenderingUpdater.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryRenderingUpdater.java
deleted file mode 100644
index 874a436..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryRenderingUpdater.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-
-
-/**
- * Represents an object that will manage the update of an IMemoryRendering
- * based on connections.  If the memory block implements this interface or returns
- * an object of this type when getAdapter(...) is called, a rendering would
- * call #supportsManagedUpdate to determine if it should handle and refresh
- * upon a debug event.  
- * 
- * If the client wants to manage its own update, it would return true when
- * #supportsManagedUpdate is called.  The rendering will not get refreshed
- * upon any debug events.  Instead, the rendering will update when 
- * <code>IMemoryBlockConnection.update</code> is called.
- * 
- * This interface is EXPERIMENTAL.
- *
- */
-public interface IMemoryRenderingUpdater extends IMemoryBlockExtension {
-	
-	/**
-	 * @return true if the updater will manage the update of a rendering
-	 */
-	public boolean supportsManagedUpdate(IMemoryRendering rendering);
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IPersistableDebugElement.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IPersistableDebugElement.java
deleted file mode 100644
index 338db1a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IPersistableDebugElement.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.memory;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
-
-/**
- * Represents an element that is capable of persisting properties.
- * @since 3.2
- */
-public interface IPersistableDebugElement {
-
-	/**
-	 * Return the property with the specified propertyId.  
-	 * @param context is the context who is asking for this property.
-	 * @param propertyId is the property id of the property.
-	 * @return the value of the specified property
-	 * @throws CoreException when an error has occurred getting this property
-	 */
-	public Object getProperty(Object context, String propertyId) throws CoreException;
-	
-	/**
-	 * Sets the property with the specified propertyId.  Clients are expected
-	 * to save the properties specified.
-	 * @param context is the context who is asking for this property to be saved.
-	 * @param propertyId is the id of the property to be saved
-	 * @param value is the value of the property
-	 * @throws CoreException when an error has occurred setting this property
-	 */
-	public void setProperty(Object context, String propertyId, Object value) throws CoreException;
-	
-	/**
-	 * @param context is the contex who is asking if this property is supported
-	 * @param propertyId
-	 * @return true if the peristable debug element wishes to handle persistence of
-	 * the specified property.
-	 */
-	public boolean supportsProperty(Object context, String propertyId);
-	
-	/**
-	 * Add the property change listener to the persistable.  The listener will
-	 * be notified when properties have changed from the peristable element.
-	 * @param listener is the listener to add
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener);
-	
-	/**
-	 * Remove the property change listener from the persistable.  The listener will
-	 * no longer be notified when properties are changed from the persistable element.
-	 * @param listener is the listener to remove
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
deleted file mode 100644
index 9118472..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.memory;
-
-import java.util.ArrayList;
-import java.util.Collection;
-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.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.AbstractMemoryRenderingBindingsProvider;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener;
-import org.eclipse.debug.ui.memory.IMemoryRenderingManager;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-
-/**
- * The memory rendering manager.
- * 
- * @see org.eclipse.debug.ui.memory.IMemoryRenderingManager
- * @since 3.1
- */
-public class MemoryRenderingManager extends AbstractMemoryRenderingBindingsProvider implements IMemoryRenderingManager {
-    
-    // map of rendering type ids to valid rendering types
-    private Map fRenderingTypes = new HashMap();
-    
-    // list of renderingBindings
-    private List fBindings = new ArrayList();
-        
-    // singleton manager
-    private static MemoryRenderingManager fgDefault;
-	
-    // elements in the memory renderings extension point
-    public static final String ELEMENT_MEMORY_RENDERING_TYPE = "renderingType"; //$NON-NLS-1$
-    public static final String ELEMENT_RENDERING_BINDINGS = "renderingBindings"; //$NON-NLS-1$
-    
-    /**
-     * Returns the memory rendering manager.
-     * 
-     * @return the memory rendering manager
-     */
-    public static IMemoryRenderingManager getDefault() {
-        if (fgDefault == null) {
-            fgDefault = new MemoryRenderingManager();
-        }
-        return fgDefault;
-    }
-    /**
-     * Construts a new memory rendering manager. Only to be called by DebugUIPlugin.
-     */
-    private MemoryRenderingManager() {
-        initializeRenderings();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingManager#createRendering(java.lang.String)
-     */
-    public IMemoryRendering createRendering(String id) throws CoreException {
-        IMemoryRenderingType type = getRenderingType(id);
-        if (type != null) {
-            return type.createRendering();
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingManager#getRenderingTypes()
-     */
-    public IMemoryRenderingType[] getRenderingTypes() {
-        Collection types = fRenderingTypes.values();
-        return (IMemoryRenderingType[]) types.toArray(new IMemoryRenderingType[types.size()]);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingManager#getRenderingType(java.lang.String)
-     */
-    public IMemoryRenderingType getRenderingType(String id) {
-        return (IMemoryRenderingType) fRenderingTypes.get(id);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#getDefaultRenderingTypes(org.eclipse.debug.core.model.IMemoryBlock)
-     */
-    public IMemoryRenderingType[] getDefaultRenderingTypes(IMemoryBlock block) {
-        List allTypes = new ArrayList();
-        Iterator iterator = fBindings.iterator();
-        while (iterator.hasNext()) {
-            RenderingBindings binding = (RenderingBindings)iterator.next();
-            IMemoryRenderingType[] renderingTypes = binding.getDefaultRenderingTypes(block);
-            for (int i = 0; i < renderingTypes.length; i++) {
-                IMemoryRenderingType type = renderingTypes[i];
-                if (!allTypes.contains(type)) {
-                    allTypes.add(type);
-                }
-            }
-        }
-        return (IMemoryRenderingType[]) allTypes.toArray(new IMemoryRenderingType[allTypes.size()]);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#getPrimaryRenderingType(org.eclipse.debug.core.model.IMemoryBlock)
-     */
-    public IMemoryRenderingType getPrimaryRenderingType(IMemoryBlock block) {
-        Iterator iterator = fBindings.iterator();
-        while (iterator.hasNext()) {
-            RenderingBindings binding = (RenderingBindings)iterator.next();
-            IMemoryRenderingType renderingType = binding.getPrimaryRenderingType(block);
-            if (renderingType != null) {
-                return renderingType;
-            }
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#getRenderingTypes(org.eclipse.debug.core.model.IMemoryBlock)
-     */
-    public IMemoryRenderingType[] getRenderingTypes(IMemoryBlock block) {
-        List allTypes = new ArrayList();
-        Iterator iterator = fBindings.iterator();
-        while (iterator.hasNext()) {
-            RenderingBindings binding = (RenderingBindings)iterator.next();
-            IMemoryRenderingType[] renderingTypes = binding.getRenderingTypes(block);
-            for (int i = 0; i < renderingTypes.length; i++) {
-                IMemoryRenderingType type = renderingTypes[i];
-                if (!allTypes.contains(type)) {
-                    allTypes.add(type);
-                }
-            }
-        }
-        return (IMemoryRenderingType[]) allTypes.toArray(new IMemoryRenderingType[allTypes.size()]);
-    }
-    
-    /**
-     * Processes memory rendering contributions.
-     */
-    private void initializeRenderings() {
-        IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_MEMORY_RENDERIGNS);
-        IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-        for (int i = 0; i < configurationElements.length; i++) {
-            IConfigurationElement element= configurationElements[i];
-            String name = element.getName();
-            if (name.equals(ELEMENT_MEMORY_RENDERING_TYPE)) {
-                MemoryRenderingType type = new MemoryRenderingType(element);
-                try {
-                    type.validate();
-                    fRenderingTypes.put(type.getId(), type);
-                } catch (CoreException e) {
-                    DebugUIPlugin.log(e);
-                }
-            } else if (name.equals(ELEMENT_RENDERING_BINDINGS)) {
-                RenderingBindings bindings = new RenderingBindings(element);
-                try {
-                    bindings.validate();
-                    fBindings.add(bindings);
-					bindings.addListener(new IMemoryRenderingBindingsListener() {
-						public void memoryRenderingBindingsChanged() {
-							fireBindingsChanged();
-						}});
-                } catch (CoreException e) {
-                    DebugUIPlugin.log(e);
-                }
-            }
-        }        
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingType.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingType.java
deleted file mode 100644
index 85a743e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingType.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.memory;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate;
-
-/**
- * A contributed memory rendering type.
- * 
- * @since 3.1
- */
-class MemoryRenderingType implements IMemoryRenderingType {
-    
-    private IConfigurationElement fConfigurationElement;
-    private IMemoryRenderingTypeDelegate fDelegate;
-    
-    // attributes for a memoryRenderingType
-    static final String ATTR_MEM_RENDERING_TYPE_NAME = "name"; //$NON-NLS-1$
-    static final String ATTR_MEM_RENDERING_TYPE_ID = "id"; //$NON-NLS-1$
-    static final String ATTR_MEM_RENDERING_TYPE_DELEGATE = "class"; //$NON-NLS-1$
-    
-    /**
-     * Constructs a rendering type from a contribution. 
-     */
-    MemoryRenderingType(IConfigurationElement element) {
-        fConfigurationElement = element;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingType#getLabel()
-     */
-    public String getLabel() {
-        return fConfigurationElement.getAttribute(ATTR_MEM_RENDERING_TYPE_NAME);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingType#getId()
-     */
-    public String getId() {
-        return fConfigurationElement.getAttribute(ATTR_MEM_RENDERING_TYPE_ID);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingType#createRendering()
-     */
-    public IMemoryRendering createRendering() throws CoreException {
-        if (fDelegate == null) {
-            fDelegate = (IMemoryRenderingTypeDelegate) fConfigurationElement.createExecutableExtension(ATTR_MEM_RENDERING_TYPE_DELEGATE);
-        }
-        return fDelegate.createRendering(getId());
-    }
-
-    /**
-     * Validates this contribution.
-     * 
-     * @exception CoreException if invalid
-     */
-    void validate() throws CoreException {
-        verifyPresent(ATTR_MEM_RENDERING_TYPE_ID);
-        verifyPresent(ATTR_MEM_RENDERING_TYPE_NAME);
-        verifyPresent(ATTR_MEM_RENDERING_TYPE_DELEGATE);
-    }
-    
-    private void verifyPresent(String attrName) throws CoreException {
-        if (fConfigurationElement.getAttribute(attrName) == null) {
-            Status status = new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR,
-                    "<memoryRenderingType> element missing required attribute: " + attrName, null); //$NON-NLS-1$
-            throw new CoreException(status);
-        }
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
deleted file mode 100644
index 3a4f15b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.memory;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.expressions.IEvaluationContext;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.AbstractMemoryRenderingBindingsProvider;
-import org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener;
-import org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider;
-import org.eclipse.debug.ui.memory.IMemoryRenderingManager;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-
-/**
- * Represents a renderingBindings element of a memoryRenderings
- * contribution.
- * 
- * @since 3.1
- */
-class RenderingBindings extends AbstractMemoryRenderingBindingsProvider implements IMemoryRenderingBindingsProvider {
-    
-    // element
-    protected IConfigurationElement fConfigurationElement;
-    
-    // cached rendering ids
-    private IMemoryRenderingType[] fAllTypes;
-    private IMemoryRenderingType[] fRenderingTypes;
-    private IMemoryRenderingType[] fDefaultTypes;
-    
-    // rendering type provider, or null (optional)
-    private IMemoryRenderingBindingsProvider fProvider;
-    
-    // optional exprssion
-    private Expression fExpression;
-	
-    // element attribute
-    public static final String ATTR_RENDERING_IDS = "renderingIds"; //$NON-NLS-1$
-    public static final String ATTR_DEFAULT_IDS = "defaultIds"; //$NON-NLS-1$
-    public static final String ATTR_PRIMARY = "primaryId"; //$NON-NLS-1$
-    public static final String ATTR_PROVIDER = "class"; //$NON-NLS-1$
-    
-    // empty bindings
-    private static final IMemoryRenderingType[] EMPTY = new IMemoryRenderingType[0]; 
-    
-    /**
-     * Constructs a bindings element from the given contribution.
-     * 
-     * @param element contribution
-     */
-    RenderingBindings(IConfigurationElement element) {
-        fConfigurationElement = element;
-    }
-    
-    /**
-     * Returns the non-default bindings specified by this contribution.
-     * 
-     * @return the non-default bindings specified by this contribution
-     */
-    private IMemoryRenderingType[] getBindings() {
-        if (fRenderingTypes == null) {
-            String ids = fConfigurationElement.getAttribute(ATTR_RENDERING_IDS);
-            List list = new ArrayList();
-            IMemoryRenderingManager manager = getManager();
-            if (ids != null) {
-                String[] strings = ids.split(","); //$NON-NLS-1$
-                for (int i = 0; i < strings.length; i++) {
-                    String id = strings[i].trim();
-                    IMemoryRenderingType type = manager.getRenderingType(id);
-                    if (type != null) {
-                        list.add(type);
-                    }
-                }
-            }
-            // remove any default bindings, in case of duplicate specification
-            IMemoryRenderingType[] defaultBindings = getDefaultBindings();
-            for (int i = 0; i < defaultBindings.length; i++) {
-                list.remove(defaultBindings[i]);
-            }
-            fRenderingTypes = (IMemoryRenderingType[]) list.toArray(new IMemoryRenderingType[list.size()]);
-        }
-        return fRenderingTypes;
-    }
-    
-    /**
-     * Returns the default bindings specified by this contribution.
-     * 
-     * @return the default bindings specified by this contribution
-     */
-    private IMemoryRenderingType[] getDefaultBindings() {
-        if (fDefaultTypes == null) {
-            String ids = fConfigurationElement.getAttribute(ATTR_DEFAULT_IDS);
-            List list = new ArrayList();
-            IMemoryRenderingManager manager = getManager();
-            if (ids != null) {
-                String[] strings = ids.split(","); //$NON-NLS-1$
-                for (int i = 0; i < strings.length; i++) {
-                    String id = strings[i].trim();
-                    IMemoryRenderingType type = manager.getRenderingType(id);
-                    if (type != null) {
-                        list.add(type);
-                    }
-                }
-            }
-            // the primary is also considered a default rendering
-            String primaryId = getPrimaryId();
-            if (primaryId != null) {
-                IMemoryRenderingType type = manager.getRenderingType(primaryId);
-                if (type != null) {
-                    list.add(type);
-                }
-            }
-            fDefaultTypes = (IMemoryRenderingType[]) list.toArray(new IMemoryRenderingType[list.size()]);
-        }
-        return fDefaultTypes;
-    }  
-    
-    /**
-     * Returns the primary id, or <code>null</code> if none.
-     * 
-     * @return the primary id, or <code>null</code> if none
-     */
-    private String getPrimaryId() {
-        return fConfigurationElement.getAttribute(ATTR_PRIMARY);
-    }
-    
-    /**
-     * Returns the provider for this binding or <code>null</code> of none.
-     * 
-     * @return the provider for this binding or <code>null</code> of none
-     */
-    protected IMemoryRenderingBindingsProvider getProvider(IMemoryBlock memoryBlock) {
-		if (isBound(memoryBlock))
-		{
-	        if (fProvider == null) {
-	            String name = fConfigurationElement.getAttribute(ATTR_PROVIDER);
-	            if (name != null) {
-	                try {
-	                    fProvider = (IMemoryRenderingBindingsProvider) fConfigurationElement.createExecutableExtension(ATTR_PROVIDER);
-	                } catch (CoreException e) {
-	                    DebugUIPlugin.log(e);
-	                }
-	            }
-				
-				if (fProvider != null)
-				{
-					fProvider.addListener(new IMemoryRenderingBindingsListener() {
-						public void memoryRenderingBindingsChanged() {
-							fireBindingsChanged();
-						}});
-				}
-	        }
-		}
-		return fProvider;
-    }
-    
-    /**
-     * Returns whether this binding is applies to the given memory block.
-     * 
-     * @param block memory block
-     * @return whether this binding is applies to the given memory block
-     */
-    private boolean isBound(IMemoryBlock block) {
-        Expression expression = getExpression();
-        if (expression != null) {
-            IEvaluationContext context = new EvaluationContext(null, block);
-            try {
-                return expression.evaluate(context) == EvaluationResult.TRUE;
-            } catch (CoreException e) {
-                DebugUIPlugin.log(e);
-                return false;
-            }
-        }
-        return true;
-    }
-    
-    /**
-     * Validates this contribution.
-     * 
-     * @exception CoreException if invalid
-     */
-    void validate() throws CoreException {
-        if (fConfigurationElement.getAttribute(ATTR_PROVIDER) != null) {
-            if (fConfigurationElement.getAttribute(ATTR_RENDERING_IDS) != null ||
-                    fConfigurationElement.getAttribute(ATTR_DEFAULT_IDS) != null ||
-                    fConfigurationElement.getAttribute(ATTR_PRIMARY) != null) {
-                Status status = new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR,
-                        "<renderingBindings> element cannot specify other attributes when " + ATTR_PROVIDER + " is present", null); //$NON-NLS-1$ //$NON-NLS-2$
-                throw new CoreException(status);
-            }
-        }
-    }
-    
-    /**
-     * Returns this binding's enablement expression, or <code>null</code> if none.
-     * 
-     * @return enablement expression, or <code>null</code> if none
-     */
-    private Expression getExpression() {
-        if (fExpression == null) {
-            IConfigurationElement[] elements = fConfigurationElement.getChildren(ExpressionTagNames.ENABLEMENT);
-            IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
-            if (enablement != null) {
-                try {
-                    fExpression = ExpressionConverter.getDefault().perform(enablement);
-                } catch (CoreException e) {
-                    DebugUIPlugin.log(e);
-                }
-            }
-        }
-        return fExpression;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#getRenderingTypes(org.eclipse.debug.core.model.IMemoryBlock)
-     */
-    public IMemoryRenderingType[] getRenderingTypes(IMemoryBlock block) {
-        if (isBound(block)) {
-            IMemoryRenderingBindingsProvider provider = getProvider(block);
-            if (provider == null) {
-                if (fAllTypes == null) {
-                    IMemoryRenderingType[] defaultBindings = getDefaultBindings();
-                    IMemoryRenderingType[] bindings = getBindings();
-                    fAllTypes = new IMemoryRenderingType[defaultBindings.length + bindings.length];
-                    for (int i = 0; i < defaultBindings.length; i++) {
-                        fAllTypes[i] = defaultBindings[i];
-                    }
-                    for (int i = 0, j = defaultBindings.length; i < bindings.length; i++, j++) {
-                        fAllTypes[j] = bindings[i];
-                    }
-                }
-                return fAllTypes;
-            }
-            return provider.getRenderingTypes(block);
-        }
-        return EMPTY;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#getDefaultRenderingTypes(org.eclipse.debug.core.model.IMemoryBlock)
-     */
-    public IMemoryRenderingType[] getDefaultRenderingTypes(IMemoryBlock block) {
-        if (isBound(block)) {
-            IMemoryRenderingBindingsProvider provider = getProvider(block);
-            if (provider == null) {
-                return getDefaultBindings();
-            }
-            return provider.getDefaultRenderingTypes(block);
-        }
-        return EMPTY;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#getPrimaryRenderingType(org.eclipse.debug.core.model.IMemoryBlock)
-     */
-    public IMemoryRenderingType getPrimaryRenderingType(IMemoryBlock block) {
-        if (isBound(block)) {
-            IMemoryRenderingBindingsProvider provider = getProvider(block);
-            if (provider == null) {
-                String primaryId = getPrimaryId();
-                if (primaryId != null) {
-                    return getManager().getRenderingType(primaryId);
-                }
-            } else {
-                return provider.getPrimaryRenderingType(block);
-            }
-        }
-        return null;
-    }
-    
-    private IMemoryRenderingManager getManager() { 
-        return DebugUITools.getMemoryRenderingManager();
-    }
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java
deleted file mode 100644
index dfb7479..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java
+++ /dev/null
@@ -1,2993 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.memory.provisional;
-
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.Command;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-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.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.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.debug.internal.ui.memory.IPersistableDebugElement;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelChangedListener;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.internal.ui.views.memory.renderings.AbstractBaseTableRendering;
-import org.eclipse.debug.internal.ui.views.memory.renderings.AbstractVirtualContentTableModel;
-import org.eclipse.debug.internal.ui.views.memory.renderings.AsyncCopyTableRenderingAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.AsyncPrintTableRenderingAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.AsyncTableRenderingCellModifier;
-import org.eclipse.debug.internal.ui.views.memory.renderings.AsyncTableRenderingViewer;
-import org.eclipse.debug.internal.ui.views.memory.renderings.AsyncVirtualContentTableViewer;
-import org.eclipse.debug.internal.ui.views.memory.renderings.CopyTableRenderingToClipboardAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.FormatTableRenderingAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.FormatTableRenderingDialog;
-import org.eclipse.debug.internal.ui.views.memory.renderings.GoToAddressAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.GoToAddressComposite;
-import org.eclipse.debug.internal.ui.views.memory.renderings.IPresentationErrorListener;
-import org.eclipse.debug.internal.ui.views.memory.renderings.IVirtualContentListener;
-import org.eclipse.debug.internal.ui.views.memory.renderings.MemorySegment;
-import org.eclipse.debug.internal.ui.views.memory.renderings.PendingPropertyChanges;
-import org.eclipse.debug.internal.ui.views.memory.renderings.PrintTableRenderingAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.ReformatAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.ResetToBaseAddressAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingContentDescriptor;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingLine;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.AbstractTableRendering;
-import org.eclipse.debug.ui.memory.IMemoryBlockTablePresentation;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.debug.ui.memory.IResettableMemoryRendering;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-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.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-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.Menu;
-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.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ICommandService;
-import org.eclipse.ui.contexts.IContextService;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * Abstract implementation of a table rendering.
- * <p>
- * Clients should subclass from this class if they wish to provide a
- * table rendering.
- * </p>
- * <p>
- *
- * The label of the rendering is constructed by retrieving the expression from
- * <code>IMemoryBlockExtension</code>.  For IMemoryBlock, the label is constructed
- * using the memory block's start address.
- * 
- * This rendering manages the change states of its memory bytes if the memory
- * block does not opt to manage the change states.  For IMemoryBlockExtension, if
- * the memory block returns false when #supportsChangeManagement() is called, this
- * rendering will calculate the change state for each byte when its content is updated.
- * Clients may manages the change states of its memory block by returning true when
- * #supportsChangeManagement() is called.  This will cause this rendering to stop
- * calculating the change states of the memory block.  Instead it would rely on the
- * attributes returned in the MemoryByte array to determine if a byte has changed.
- * For IMemoryBlock, this rendering will manage the change states its content.   
- * 
- *  When firing change event, be aware of the following:
- *  - whenever a change event is fired, the content provider for Memory View
- *    view checks to see if memory has actually changed.  
- *  - If memory has actually changed, a refresh will commence.  Changes to the memory block
- *    will be computed and will be shown with the delta icons.
- *  - If memory has not changed, content will not be refreshed.  However, previous delta information 
- * 	  will be erased.  The screen will be refreshed to show that no memory has been changed.  (All
- *    delta icons will be removed.)
- *    
- * Please note that these APIs will be called multiple times by the Memory View.
- * To improve performance, debug adapters need to cache the content of its memory block and only
- * retrieve updated data when necessary.
- * </p>
-
- * @since 3.2
- */
-public abstract class AbstractAsyncTableRendering extends AbstractBaseTableRendering implements IPropertyChangeListener, IResettableMemoryRendering {
-
-	/**
-	 *  Property identifier for the selected address in a table rendering
-	 *  This property is used for synchronization between renderings.
-	 */
-	public static final String PROPERTY_SELECTED_ADDRESS = AbstractTableRendering.PROPERTY_SELECTED_ADDRESS;
-	
-	/**
-	 * Property identifier for the column size in a table rendering
-	 * This property is used for synchronization between renderings.
-	 */
-	public static final String PROPERTY_COL_SIZE = AbstractTableRendering.PROPERTY_COL_SIZE;
-	
-	/**
-	 * Property identifier for the top row address in a table rendering. 
-	 * This property is used for synchronization between renderings.
-	 */
-	public static final String PROPERTY_TOP_ADDRESS = AbstractTableRendering.PROPERTY_TOP_ADDRESS;
-	
-	private static final String ID_ASYNC_TABLE_RENDERING_CONTEXT = "org.eclipse.debug.ui.memory.abstractasynctablerendering"; //$NON-NLS-1$
-	private static final String ID_GO_TO_ADDRESS_COMMAND = "org.eclipse.debug.ui.command.gotoaddress"; //$NON-NLS-1$
-	
-	/**
-	 * Property identifier for the row size in a table rendering
-	 * This property is used for synchronization between renderings.
-	 */
-	public static final String PROPERTY_ROW_SIZE = AbstractTableRendering.PROPERTY_ROW_SIZE;
-	
-	private boolean fActivated = false;
-	
-//	TODO:  review use of MemorySegment, need to be careful to ensure flexible hierarchy
-	
-	private class ToggleAddressColumnAction extends Action {
-
-		public ToggleAddressColumnAction() {
-			super();
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID
-					+ ".ShowAddressColumnAction_context"); //$NON-NLS-1$
-			updateActionLabel();
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.action.IAction#run()
-		 */
-		public void run() {
-			fIsShowAddressColumn = !fIsShowAddressColumn;
-			if (!fIsShowAddressColumn)
-			{
-				fTableViewer.getTable().getColumn(0).setWidth(0);
-			}
-			else
-			{
-				fTableViewer.getTable().getColumn(0).pack();
-			}
-			updateActionLabel();
-		}
-
-		/**
-		 * 
-		 */
-		private void updateActionLabel() {
-			if (fIsShowAddressColumn) {
-				setText(DebugUIMessages.ShowAddressColumnAction_0); 
-			} else {
-				setText(DebugUIMessages.ShowAddressColumnAction_1); 
-			}
-		}
-	}
-	
-	private class NextPageAction extends Action
-	{
-		private NextPageAction()
-		{
-			super();
-			setText(DebugUIMessages.AbstractTableRendering_4);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".NextPageAction_context"); //$NON-NLS-1$ 
-		}
-
-		public void run() {
-			BigInteger address = fContentDescriptor.getLoadAddress();
-			address = address.add(BigInteger.valueOf(getPageSizeInUnits()));
-			handlePageStartAddressChanged(address);
-		}
-	}
-	
-	private class PrevPageAction extends Action
-	{
-		private PrevPageAction()
-		{
-			super();
-			setText(DebugUIMessages.AbstractTableRendering_6);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".PrevPageAction_context"); //$NON-NLS-1$
-		}
-
-		public void run() {
-			BigInteger address = fContentDescriptor.getLoadAddress();
-			address = address.subtract(BigInteger.valueOf(getPageSizeInUnits()));
-			handlePageStartAddressChanged(address);
-		}
-	}
-	
-	private class RenderingGoToAddressAction extends GoToAddressAction
-	{
-		public RenderingGoToAddressAction(AbstractBaseTableRendering rendering) {
-			super(rendering);
-		}
-		
-		public void run() {
-			showGoToAddressComposite();
-		}
-	}
-	
-	private class SwitchPageJob extends UIJob {
-		private Object fLock = new Object();
-		private boolean fShowMessagePage = false;
-		private String fMessage = ""; //$NON-NLS-1$
-
-		private SwitchPageJob() {
-			super("SwitchPageJob");//$NON-NLS-1$
-			setSystem(true);
-		}
-
-		private void setShowMessagePage(boolean showMsg) {
-			synchronized(fLock)
-			{
-				fShowMessagePage = showMsg;
-			}
-		}
-
-		private void setMessage(String message) {
-			synchronized(fLock)
-			{
-				fMessage = message;
-			}
-		}
-
-		public IStatus runInUIThread(IProgressMonitor monitor) {
-			
-			if (fPageBook.isDisposed())
-				return Status.OK_STATUS;
-			
-			String msgToShow = null;
-			boolean showMsgPage = false;
-			synchronized (fLock) {
-				msgToShow = fMessage;
-				showMsgPage = fShowMessagePage;
-			}
-			
-			if (showMsgPage) {
-				StyledText styleText = null;
-				fShowMessage = true;
-
-				styleText = fTextViewer.getTextWidget();
-
-				if (styleText != null)
-					styleText.setText(msgToShow);
-				fPageBook.showPage(fTextViewer.getControl());
-			} else {
-				fShowMessage = false;
-				fPageBook.showPage(fTableViewer.getControl().getParent());
-			}
-			return Status.OK_STATUS;
-		}
-	}
-	
-	private PageBook fPageBook;
-	private AsyncTableRenderingViewer fTableViewer;
-	private TextViewer fTextViewer;
-	private Shell fToolTipShell;
-	private MemoryViewPresentationContext fPresentationContext;
-	private int fAddressableSize;
-	private TableRenderingContentDescriptor fContentDescriptor;
-	private int fBytePerLine;
-	private int fColumnSize;
-	private boolean fShowMessage = false;
-	private String fLabel;
-	private IWorkbenchAdapter fWorkbenchAdapter;
-	private int fPageSize;
-	private SashForm fSashForm;
-	private GoToAddressComposite fGoToAddressComposite;
-	
-	// actions
-	private GoToAddressAction fGoToAddressAction;
-	private PrintTableRenderingAction fPrintViewTabAction;
-	private CopyTableRenderingToClipboardAction fCopyToClipboardAction;
-	private FormatTableRenderingAction fFormatRenderingAction;
-	private ReformatAction fReformatAction;
-	private ToggleAddressColumnAction fToggleAddressColumnAction;
-	private ResetToBaseAddressAction fResetMemoryBlockAction;
-	private PropertyDialogAction fPropertiesDialogAction;
-	private NextPageAction fNextAction;
-	private PrevPageAction fPrevAction;
-	
-	private ArrayList fContext = new ArrayList();
-	private AbstractHandler fGoToAddressHandler;
-	
-	private boolean fIsCreated = false;
-	private boolean fIsDisposed = false;
-	private boolean fIsShowAddressColumn = true;
-	
-	private SwitchPageJob fSwitchPageJob = new SwitchPageJob();
-	private boolean fError = false;
-	
-	private PendingPropertyChanges fPendingSyncProperties;
-	
-	/** 
-	 * Identifier for an empty group preceding all context menu actions 
-	 * (value <code>"popUpBegin"</code>).
-	 */
-	public static final String EMPTY_MEMORY_GROUP = "popUpBegin"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for an empty group following navigation actions in the rendering
-	 * (value <code>navigationGroup</code>).
-	 */
-	public static final String EMPTY_NAVIGATION_GROUP = "navigationGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for an empty group following actions that are only applicable in
-	 * non-auto loading mode
-	 * (value <code>nonAutoLoadGroup</code>).
-	 */
-	public static final String EMPTY_NON_AUTO_LOAD_GROUP = "nonAutoLoadGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for an empty group following properties actions
-	 * (value <code>propertyGroup</code>).
-	 */
-	public static final String EMPTY_PROPERTY_GROUP = "propertyGroup"; //$NON-NLS-1$
-	
-	private ISelectionChangedListener fViewerSelectionChangedListener = new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			updateSyncTopAddress(getTopVisibleAddress());
-			updateSyncSelectedAddress(getSelectedAddress());
-		}
-	};
-	
-	private SelectionAdapter fScrollBarSelectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			updateSyncTopAddress(getTopVisibleAddress());
-		}
-	};
-	
-	private IModelChangedListener fModelChangedListener = new IModelChangedListener() {
-		public void modelChanged(IModelDelta delta) {
-			if (delta.getElement() == getMemoryBlock())
-			{
-				showTable();
-				updateRenderingLabel(isVisible());
-			}
-		}};
-	
-	private IVirtualContentListener fViewerListener = new IVirtualContentListener() {
-
-		public void handledAtBufferStart() {
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				if (isDynamicLoad())
-				{
-					BigInteger address = getTopVisibleAddress();
-					if (address != null && !isAtTopLimit())
-						reloadTable(address);
-				}
-			}
-		}
-
-		public void handleAtBufferEnd() {
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				if (isDynamicLoad())
-				{
-					BigInteger address = getTopVisibleAddress();
-					if (address != null && !isAtBottomLimit())
-						reloadTable(address);
-				}
-			}
-		}
-
-		public int getThreshold() {
-			return 3;
-		}};
-		
-	private IPresentationErrorListener fPresentationErrorListener = new IPresentationErrorListener() {
-		public void handlePresentationFailure(IAsynchronousRequestMonitor monitor, IStatus status) {
-			showMessage(status.getMessage());
-		}};
-	
-	
-	/**
-	 * Constructs a new table rendering of the specified type.
-	 * 
-	 * @param renderingId memory rendering type identifier
-	 */
-	public AbstractAsyncTableRendering(String renderingId) {
-		super(renderingId);
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IResettableMemoryRendering#resetRendering()
-	 */
-	public void resetRendering() throws DebugException {
-		BigInteger baseAddress = fContentDescriptor.getContentBaseAddress();
-		goToAddress(baseAddress);
-		fTableViewer.setSelection(baseAddress);
-		fTableViewer.setTopIndex(baseAddress);
-
-		updateSyncTopAddress(baseAddress);		
-		updateSyncSelectedAddress(baseAddress);
-	}
-
-	public Control createControl(Composite parent) {
-		
-		fPageBook = new PageBook(parent, SWT.NONE);
-		createMessagePage(fPageBook);
-		createTableViewer(fPageBook);
-		addListeners();
-		
-		return fPageBook;
-	}
-	
-	/**
-	 * Create the error page of this rendering
-	 * @param parent
-	 */
-	private void createMessagePage(Composite parent)
-	{
-		if (fTextViewer == null)
-		{
-			fTextViewer = new TextViewer(parent, SWT.WRAP);	
-			fTextViewer.setDocument(new Document());
-			StyledText styleText = fTextViewer.getTextWidget();
-			styleText.setEditable(false);
-			styleText.setEnabled(false);
-		}
-	}
-	
-	/**
-	 * @param parent
-	 */
-	private void createTableViewer(final Composite parent)
-	{
-		StringBuffer buffer = new StringBuffer();
-		IMemoryRenderingType type = DebugUITools.getMemoryRenderingManager().getRenderingType(getRenderingId());
-		buffer.append(type.getLabel());
-		buffer.append(": "); //$NON-NLS-1$
-		buffer.append(DebugUIMessages.AbstractAsyncTableRendering_2);
-		
-		Job job = new Job(buffer.toString()) {
-
-			protected IStatus run(IProgressMonitor monitor) {
-				
-				// gather info from memory block
-				initAddressableSize();					
-				final BigInteger topVisibleAddress = getInitialTopVisibleAddress();
-				BigInteger mbBaseAddress = null;
-				try {
-					mbBaseAddress = getMemoryBlockBaseAddress();
-				} catch (DebugException e) {
-					fError = true;
-					showMessage(e.getMessage());
-				}
-				
-				// if it takes too long to get the base address, and user has canceled
-				// remove this rendering.
-				if (monitor.isCanceled())
-				{
-					getMemoryRenderingContainer().removeMemoryRendering(AbstractAsyncTableRendering.this);
-					return Status.CANCEL_STATUS;
-				}
-				
-				final BigInteger finalMbBaseAddress = mbBaseAddress;
-				final BigInteger initialSelectedAddress = getInitialSelectedAddress();
-				
-				if (monitor.isCanceled())
-				{
-					getMemoryRenderingContainer().removeMemoryRendering(AbstractAsyncTableRendering.this);
-					return Status.CANCEL_STATUS;
-				}
-				
-				createContentDescriptor(topVisibleAddress);
-				
-				// if it takes too long to get other info, and user has canceled
-				// remove this rendering.
-				if (monitor.isCanceled())
-				{
-					getMemoryRenderingContainer().removeMemoryRendering(AbstractAsyncTableRendering.this);
-					return Status.CANCEL_STATUS;
-				}
-				
-				// batch update on UI thread
-				UIJob uiJob = new UIJob("Create Table Viewer UI Job"){ //$NON-NLS-1$
-					public IStatus runInUIThread(IProgressMonitor progressMonitor) {
-						
-						if (fPageBook.isDisposed())
-							return Status.OK_STATUS;
-						
-						fSashForm = new SashForm(parent, SWT.VERTICAL);
-						fTableViewer = new AsyncTableRenderingViewer(AbstractAsyncTableRendering.this, fSashForm, SWT.VIRTUAL | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.HIDE_SELECTION | SWT.BORDER);
-
-						GridData data = new GridData(GridData.FILL_BOTH);
-						fTableViewer.getControl().setLayoutData(data);
-						
-						createGoToAddressComposite(fSashForm);
-						hideGotoAddressComposite();
-						
-						IMemoryRenderingSite site = getMemoryRenderingContainer().getMemoryRenderingSite();
-						IMemoryRenderingContainer container = getMemoryRenderingContainer();
-						fPresentationContext = new MemoryViewPresentationContext(site, container, AbstractAsyncTableRendering.this);
-						fTableViewer.setContext(fPresentationContext);
-						
-						// must call this after the context is created as the info is stored in the context
-						getDynamicLoadFromPreference();
-						getPageSizeFromPreference();
-						
-						int numberOfLines = getNumLinesToLoad();
-						fContentDescriptor.setNumLines(numberOfLines);
-						
-						BigInteger baseAddress = finalMbBaseAddress;
-						if (baseAddress == null)
-							baseAddress = BigInteger.ZERO;
-						
-						
-						if (!(getMemoryBlock() instanceof IMemoryBlockExtension) || !isDynamicLoad())
-						{		
-							// If not extended memory block, do not create any buffer
-							// no scrolling
-							fContentDescriptor.setPreBuffer(0);
-							fContentDescriptor.setPostBuffer(0);
-						} 
-						
-						setupInitialFormat();
-						fTableViewer.setCellModifier(createCellModifier());
-						fTableViewer.getTable().setHeaderVisible(true);
-						fTableViewer.getTable().setLinesVisible(true);	
-						fTableViewer.addPresentationErrorListener(fPresentationErrorListener);
-						fTableViewer.setInput(getMemoryBlock());
-						fTableViewer.resizeColumnsToPreferredSize();
-						fTableViewer.setTopIndex(topVisibleAddress);
-						
-						fTableViewer.setSelection(initialSelectedAddress);
-
-						// SET UP FONT		
-						// set to a non-proportional font
-						fTableViewer.getTable().setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
-						
-						if (!fError)
-							showTable();
-						
-						fTableViewer.addVirtualContentListener(fViewerListener);
-						
-						// create context menu
-						// create pop up menu for the rendering
-						createActions();
-						IMenuListener listener = new IMenuListener() {
-							public void menuAboutToShow(IMenuManager mgr) {
-								fillContextMenu(mgr);
-							}};
-							
-						createPopupMenu(fTableViewer.getControl(), listener);
-						createPopupMenu(fTableViewer.getCursor(), listener);
-						
-						fTableViewer.addSelectionChangedListener(fViewerSelectionChangedListener);
-						fTableViewer.getTable().getVerticalBar().addSelectionListener(fScrollBarSelectionListener);
-						
-						createToolTip();
-						
-						// now the rendering is successfully created
-						fIsCreated = true;
-						
-						return Status.OK_STATUS;
-					}};
-				uiJob.setSystem(true);
-				uiJob.schedule();
-					
-				return Status.OK_STATUS;
-
-			}};
-			
-		job.schedule();
-	}
-	
-	/**
-	 * Create popup menu for this rendering
-	 * @param control - control to create the popup menu for
-	 * @param menuListener - listener to notify when popup meu is about to show
-	 */
-	private void createPopupMenu(Control control, IMenuListener menuListener)
-	{
-		IMemoryRenderingContainer container = getMemoryRenderingContainer();
-		MenuManager popupMenuMgr = getPopupMenuManager();
-		if (popupMenuMgr == null)
-		{
-			popupMenuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-			popupMenuMgr.setRemoveAllWhenShown(true);
-			IMemoryRenderingSite site = container.getMemoryRenderingSite();
-			String menuId = container.getId();
-						
-			ISelectionProvider selProvider = site.getSite().getSelectionProvider();
-			
-			// must add additions seperator before registering the menu
-			// otherwise, we will get an error
-			popupMenuMgr.addMenuListener(menuListener);
-			
-			site.getSite().registerContextMenu(menuId, popupMenuMgr, selProvider);
-		}
-		
-		Menu popupMenu = popupMenuMgr.createContextMenu(control);
-		control.setMenu(popupMenu);
-	}
-
-	private BigInteger getInitialSelectedAddress() {
-		// figure out selected address 
-		BigInteger selectedAddress = (BigInteger) getSynchronizedProperty(AbstractAsyncTableRendering.PROPERTY_SELECTED_ADDRESS);
-		if (selectedAddress == null)
-		{
-			if (getMemoryBlock() instanceof IMemoryBlockExtension) {
-				try {
-					selectedAddress = ((IMemoryBlockExtension) getMemoryBlock()).getBigBaseAddress();
-				} catch (DebugException e) {
-					selectedAddress = BigInteger.ZERO;
-				}
-				
-				if (selectedAddress == null) {
-					selectedAddress =BigInteger.ZERO;
-				}
-
-			} else {
-				long address = getMemoryBlock().getStartAddress();
-				selectedAddress = BigInteger.valueOf(address);
-			}
-		}
-		return selectedAddress;
-	}
-	
-	private void addListeners()
-	{
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		addRenderingToSyncService();
-		JFaceResources.getFontRegistry().addListener(this);
-	}
-	
-	private void removeListeners()
-	{
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		removeRenderingFromSyncService();
-		JFaceResources.getFontRegistry().removeListener(this);
-	}
-	
-	private void addRenderingToSyncService()
-	{	
-		IMemoryRenderingSynchronizationService syncService = getMemoryRenderingContainer().getMemoryRenderingSite().getSynchronizationService();
-		
-		if (syncService == null)
-			return;
-		
-		syncService.addPropertyChangeListener(this, null);
-	}
-	
-	private void removeRenderingFromSyncService()
-	{
-		IMemoryRenderingSynchronizationService syncService = getMemoryRenderingContainer().getMemoryRenderingSite().getSynchronizationService();
-		
-		if (syncService == null)
-			return;
-		
-		syncService.removePropertyChangeListener(this);		
-	}
-	
-	private void initAddressableSize()
-	{
-		// set up addressable size and figure out number of bytes required per line
-		fAddressableSize = -1;
-		try {
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-				fAddressableSize = ((IMemoryBlockExtension)getMemoryBlock()).getAddressableSize();
-			else
-				fAddressableSize = 1;
-		} catch (DebugException e1) {
-			DebugUIPlugin.log(e1);
-			// log error and default to 1
-			fAddressableSize = 1;
-			return;
-			
-		}
-		if (fAddressableSize < 1)
-		{
-			DebugUIPlugin.logErrorMessage("Invalid addressable size"); //$NON-NLS-1$
-			fAddressableSize = 1;
-		}
-	}
-	
-	private BigInteger getInitialTopVisibleAddress() {
-		BigInteger topVisibleAddress = (BigInteger) getSynchronizedProperty(AbstractAsyncTableRendering.PROPERTY_TOP_ADDRESS);
-		if (topVisibleAddress == null)
-		{
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				try {
-					topVisibleAddress = ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress();
-				} catch (DebugException e1) {
-					topVisibleAddress = new BigInteger("0"); //$NON-NLS-1$
-				}
-			}
-			else
-			{
-				topVisibleAddress = BigInteger.valueOf(getMemoryBlock().getStartAddress());
-			}
-		}
-		return topVisibleAddress;
-	}
-	
-	private void setupInitialFormat() {
-		
-		boolean validated = validateInitialFormat();
-		
-		if (!validated)
-		{
-			// pop up dialog to ask user for default values
-			StringBuffer msgBuffer = new StringBuffer(DebugUIMessages.AbstractTableRendering_20);
-			msgBuffer.append(" "); //$NON-NLS-1$
-			msgBuffer.append(this.getLabel());
-			msgBuffer.append("\n\n"); //$NON-NLS-1$
-			msgBuffer.append(DebugUIMessages.AbstractTableRendering_16);
-			msgBuffer.append("\n"); //$NON-NLS-1$
-			msgBuffer.append(DebugUIMessages.AbstractTableRendering_18);
-			msgBuffer.append("\n\n"); //$NON-NLS-1$
-			
-			int bytePerLine = fBytePerLine;
-			int columnSize = fColumnSize;
-			
-			// initialize this value to populate the dialog properly
-			fBytePerLine = getDefaultRowSize() / getAddressableSize();
-			fColumnSize = getDefaultColumnSize() / getAddressableSize();
-
-			FormatTableRenderingDialog dialog = new FormatTableRenderingDialog(this, DebugUIPlugin.getShell());
-			dialog.openError(msgBuffer.toString());
-			
-			// restore to original value before formatting
-			fBytePerLine = bytePerLine;
-			fColumnSize = columnSize;
-			
-			bytePerLine = dialog.getRowSize() * getAddressableSize();
-			columnSize = dialog.getColumnSize() * getAddressableSize();
-			
-			format(bytePerLine, columnSize);
-		}
-		else
-		{
-			// Row size is stored as number of addressable units in preference store
-			int bytePerLine = getDefaultRowSize();
-			// column size is now stored as number of addressable units
-			int columnSize = getDefaultColumnSize();
-			
-			// format memory block with specified "bytesPerLine" and "columnSize"	
-			boolean ok = format(bytePerLine, columnSize);
-			
-			if (!ok)
-			{
-				// this is to ensure that the rest of the rendering can be created
-				// and we can recover from a format error
-				format(bytePerLine, bytePerLine);
-			}
-		}
-	}
-	
-	private boolean validateInitialFormat()
-	{
-		int rowSize = getDefaultRowSize();
-		int columnSize = getDefaultColumnSize();
-		
-		if (rowSize < columnSize || rowSize % columnSize != 0 || rowSize == 0 || columnSize == 0)
-		{
-			return false;
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#getControl()
-	 */
-	public Control getControl() {
-		return fPageBook.getParent();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		
-		if (!fIsCreated)
-			return;
-		
-		// 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);	
-			}
-			return;
-		}
-		
-		Object evtSrc = event.getSource();
-		
-		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE)) {
-			// always update page size, only refresh if the table is visible
-			getPageSizeFromPreference();
-		}
-		
-		// do not handle event if the rendering is displaying an error
-		// or if it's not visible
-		if (isDisplayingError() || !isVisible())
-		{
-			handlePropertiesChangeWhenHidden(event);
-			return;
-		}
-		
-		
-		if (event.getProperty().equals(IDebugUIConstants.PREF_PADDED_STR) || 
-			event.getProperty().equals(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR) ||
-			event.getProperty().equals(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR) ||
-			event.getProperty().equals(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR))
-		{
-			if (!fIsDisposed)
-			{
-				fTableViewer.refresh(false);
-			}
-			return;
-		}
-		
-		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM)) {
-			handleDyanicLoadChanged();
-			return;
-		}
-		
-		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE)) {
-			if (!isDynamicLoad())
-			{
-				int pageSize = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE);
-				handlePageSizeChanged(pageSize);
-			}
-			return;
-		}
-		
-		if (evtSrc == this)
-			return;
-		
-		if (evtSrc instanceof IMemoryRendering)
-		{
-			IMemoryRendering rendering = (IMemoryRendering)evtSrc;
-			IMemoryBlock memoryBlock = rendering.getMemoryBlock();
-			
-			// do not handle event from renderings displaying other memory blocks
-			if (memoryBlock != getMemoryBlock())
-				return;
-		}
-	
-		String propertyName = event.getProperty();
-		Object value = event.getNewValue();
-		
-		if (propertyName.equals(AbstractAsyncTableRendering.PROPERTY_SELECTED_ADDRESS) && value instanceof BigInteger)
-		{
-			selectedAddressChanged((BigInteger)value);
-		}
-		else if (propertyName.equals(AbstractAsyncTableRendering.PROPERTY_COL_SIZE) && value instanceof Integer)
-		{
-			columnSizeChanged(((Integer)value).intValue());
-		}
-		else if (propertyName.equals(AbstractAsyncTableRendering.PROPERTY_ROW_SIZE) && value instanceof Integer)
-		{
-			rowSizeChanged(((Integer)value).intValue());
-		}
-		else if (propertyName.equals(AbstractAsyncTableRendering.PROPERTY_TOP_ADDRESS) && value instanceof BigInteger)
-		{
-			topVisibleAddressChanged((BigInteger)value);
-		}
-		else if (propertyName.equals(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS) && value instanceof BigInteger)
-		{
-			handlePageStartAddressChanged((BigInteger)value);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void handlePageSizeChanged(int pageSize) {
-		fPageSize = pageSize;
-		// only refresh if in non-autoload mode
-		fContentDescriptor.setNumLines(pageSize);
-		refresh();
-	}	
-	
-	private void handlePropertiesChangeWhenHidden(PropertyChangeEvent event)
-	{
-		if (fPendingSyncProperties == null)
-			return;
-		
-		String propertyName = event.getProperty();
-		Object value = event.getNewValue();
-		
-		if (event.getSource() instanceof IMemoryRendering)
-		{
-			IMemoryRendering rendering = (IMemoryRendering)event.getSource();
-			if (rendering == this || rendering.getMemoryBlock() != getMemoryBlock())
-			{
-				return;
-			}
-		}
-		
-		if (propertyName.equals(AbstractAsyncTableRendering.PROPERTY_COL_SIZE) && value instanceof Integer)
-		{
-			fPendingSyncProperties.setColumnSize(((Integer)value).intValue());
-		}
-		else if (propertyName.equals(AbstractAsyncTableRendering.PROPERTY_ROW_SIZE) && value instanceof Integer)
-		{
-			fPendingSyncProperties.setRowSize(((Integer)value).intValue());
-		}
-		
-		else if (propertyName.equals(AbstractAsyncTableRendering.PROPERTY_SELECTED_ADDRESS) && value instanceof BigInteger)
-		{
-			fPendingSyncProperties.setSelectedAddress((BigInteger)value);
-		}
-		else if (propertyName.equals(AbstractAsyncTableRendering.PROPERTY_TOP_ADDRESS) && value instanceof BigInteger)
-		{
-			fPendingSyncProperties.setTopVisibleAddress((BigInteger)value);
-		}
-		else if (propertyName.equals(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS) && value instanceof BigInteger)
-		{
-			fPendingSyncProperties.setPageStartAddress((BigInteger)value);
-		}
-		else if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE)) {
-			int pageSize = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE);
-			fPendingSyncProperties.setPageSize(pageSize);
-		}
-	}
-	
-	private void topVisibleAddressChanged(final BigInteger address)
-	{
-		final Runnable runnable = new Runnable() {
-			public void run() {
-				if (fTableViewer.getTable().isDisposed())
-					return;
-				
-				doTopVisibleAddressChanged(address);
-			}};
-		runOnUIThread(runnable);
-	}
-	
-	/**
-	 * @param address
-	 */
-	private void doTopVisibleAddressChanged(final BigInteger address) {
-		if (fIsDisposed)
-			return;
-		
-		if (!isDynamicLoad())
-		{
-			fTableViewer.setTopIndex(address);
-			fTableViewer.topIndexChanged();
-			return;
-		}
-		
-		if (!isAtTopBuffer(address) && !isAtBottomBuffer(address))
-		{
-			fTableViewer.setTopIndex(address);
-			fTableViewer.topIndexChanged();
-		}
-		else
-		{
-			reloadTable(address);
-		}
-	}
-	
-	private boolean isAtBottomBuffer(BigInteger address)
-	{
-		int idx = fTableViewer.indexOf(address);
-		if (idx < 0)
-			return true;
-		
-		int bottomIdx = idx + getNumberOfVisibleLines();
-		int elementsCnt = fTableViewer.getVirtualContentModel().getElements().length;
-		int numLinesLeft = elementsCnt - bottomIdx;
-		
-		if (numLinesLeft <= 3)
-			return true;
-		
-		return false;
-	}
-	
-	private boolean isAtTopBuffer(BigInteger address)
-	{
-		int topIdx = fTableViewer.indexOf(address);
-		if (topIdx <= 3)
-			return true;
-		
-		return false;
-	}
-	
-	private void runOnUIThread(final Runnable runnable)
-	{
-		if (Display.getCurrent() != null)	
-		{
-			runnable.run();
-		}
-		else
-		{
-			UIJob job = new UIJob("Async Table Rendering UI Job"){ //$NON-NLS-1$
-	
-				public IStatus runInUIThread(IProgressMonitor monitor) {
-					runnable.run();
-					return Status.OK_STATUS;
-				}};
-			job.setSystem(true);
-			job.schedule();
-		}
-	}
-	
-	private void selectedAddressChanged(final BigInteger address)
-	{
-		Runnable runnable = new Runnable() {
-
-			public void run() {			
-				
-				if (fTableViewer.getTable().isDisposed())
-					return;
-				
-				// call this to make the table viewer to reload when needed
-				int i = fTableViewer.indexOf(address);
-				if (i < 0)
-				{
-					topVisibleAddressChanged(address);
-				}
-				fTableViewer.setSelection(address);
-			}
-		};
-		
-		runOnUIThread(runnable);
-	}
-	
-	private void setFont(Font font)
-	{	
-		// set font
-		fTableViewer.getTable().setFont(font);
-		fTableViewer.getCursor().setFont(font);		
-	}
-	
-	private int getDefaultColumnSize() {
-		
-		// default to global preference store
-		IPreferenceStore prefStore = DebugUITools.getPreferenceStore();
-		int columnSize = prefStore.getInt(IDebugPreferenceConstants.PREF_COLUMN_SIZE);
-		// actual column size is number of addressable units * size of the addressable unit
-		columnSize = columnSize * getAddressableSize();
-		
-		// check synchronized col size
-		Integer colSize = (Integer)getSynchronizedProperty(AbstractAsyncTableRendering.PROPERTY_COL_SIZE);
-		if (colSize != null)
-		{
-			// column size is stored as actual number of bytes in synchronizer
-			int syncColSize = colSize.intValue(); 
-			if (syncColSize > 0)
-			{
-				columnSize = syncColSize;
-			}	
-		}
-		else
-		{
-			IPersistableDebugElement elmt = (IPersistableDebugElement)getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-			int defaultColSize = -1;
-			
-			if (elmt != null)
-			{
-				if (elmt.supportsProperty(this, IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL))
-					defaultColSize = getDefaultFromPersistableElement(IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL);
-			}
-			
-			if (defaultColSize <= 0)
-			{
-				// if not provided, get default by model
-				defaultColSize = getDefaultColumnSizeByModel(getMemoryBlock().getModelIdentifier());
-			}
-			
-			if (defaultColSize > 0)
-				columnSize = defaultColSize * getAddressableSize();
-		}
-		return columnSize;
-	}
-
-	private int getDefaultRowSize() {
-		
-		int rowSize = DebugUITools.getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_ROW_SIZE);
-		int bytePerLine = rowSize * getAddressableSize();
-		
-		// check synchronized row size
-		Integer size = (Integer)getSynchronizedProperty(AbstractAsyncTableRendering.PROPERTY_ROW_SIZE);
-		if (size != null)
-		{
-			// row size is stored as actual number of bytes in synchronizer
-			int syncRowSize = size.intValue(); 
-			if (syncRowSize > 0)
-			{
-				bytePerLine = syncRowSize;
-			}	
-		}
-		else
-		{
-			int defaultRowSize = -1;
-			IPersistableDebugElement elmt = (IPersistableDebugElement)getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-			if (elmt != null)
-			{
-				if (elmt.supportsProperty(this, IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL))
-				{
-					defaultRowSize = getDefaultFromPersistableElement(IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL);
-					return defaultRowSize * getAddressableSize();
-				}
-			}
-			
-			if (defaultRowSize <= 0)
-				// no synchronized property, ask preference store by id
-				defaultRowSize = getDefaultRowSizeByModel(getMemoryBlock().getModelIdentifier());
-			
-			if (defaultRowSize > 0)
-				bytePerLine = defaultRowSize * getAddressableSize();
-		}
-		return bytePerLine;
-	}
-	
-	/**
-	 * Returns the addressible size of this rendering's memory block in bytes.
-	 * 
-	 * @return the addressible size of this rendering's memory block in bytes
-	 */
-	public int getAddressableSize() {
-		return fAddressableSize;
-	}
-	
-	private Object getSynchronizedProperty(String propertyId)
-	{
-		IMemoryRenderingSynchronizationService syncService = getMemoryRenderingContainer().getMemoryRenderingSite().getSynchronizationService();
-		
-		if (syncService == null)
-			return null;
-		
-		return syncService.getProperty(getMemoryBlock(), propertyId);	
-	}
-	
-	private int getDefaultFromPersistableElement(String propertyId) {
-		int defaultValue = -1;
-		IPersistableDebugElement elmt = (IPersistableDebugElement)getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-		if (elmt != null)
-		{
-			try {
-				Object valueMB = elmt.getProperty(this, propertyId);
-				if (valueMB != null && !(valueMB instanceof Integer))
-				{
-					IStatus status = DebugUIPlugin.newErrorStatus("Model returned invalid type on " + propertyId, null); //$NON-NLS-1$
-					DebugUIPlugin.log(status);
-				}
-				
-				if (valueMB != null)
-				{
-					Integer value = (Integer)valueMB;
-					defaultValue = value.intValue();
-				}
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * @param modelId
-	 * @return default number of addressable units per line for the model
-	 */
-	private int getDefaultRowSizeByModel(String modelId)
-	{
-		int row = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
-		if (row == 0)
-		{
-			DebugUITools.getPreferenceStore().setValue(getRowPrefId(modelId), IDebugPreferenceConstants.PREF_ROW_SIZE_DEFAULT);
-		}
-		
-		row = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
-		return row;
-		
-	}
-	
-	/**
-	 * @param modelId
-	 * @return default number of addressable units per column for the model
-	 */
-	private int getDefaultColumnSizeByModel(String modelId)
-	{
-		int col = DebugUITools.getPreferenceStore().getInt(getColumnPrefId(modelId));
-		if (col == 0)
-		{
-			DebugUITools.getPreferenceStore().setValue(getColumnPrefId(modelId), IDebugPreferenceConstants.PREF_COLUMN_SIZE_DEFAULT);
-		}
-		
-		col = DebugUITools.getPreferenceStore().getInt(getColumnPrefId(modelId));
-		return col;
-	}
-	
-	
-	private String getRowPrefId(String modelId) {
-		String rowPrefId = IDebugPreferenceConstants.PREF_ROW_SIZE + ":" + modelId; //$NON-NLS-1$
-		return rowPrefId;
-	}
-
-	private String getColumnPrefId(String modelId) {
-		String colPrefId = IDebugPreferenceConstants.PREF_COLUMN_SIZE + ":" + modelId; //$NON-NLS-1$
-		return colPrefId;
-	}
-	
-	/**
-	 * Format view tab based on the bytes per line and column.
-	 * 
-	 * @param bytesPerLine - number of bytes per line, possible values: (1 / 2 / 4 / 8 / 16) * addressableSize
-	 * @param columnSize - number of bytes per column, possible values: (1 / 2 / 4 / 8 / 16) * addressableSize
-	 * @return true if format is successful, false, otherwise
-	 */
-	public boolean format(int bytesPerLine, int columnSize)
-	{	
-		
-		// bytes per cell must be divisible to bytesPerLine
-		if (bytesPerLine % columnSize != 0)
-		{
-			return false;
-		}
-		
-		if (bytesPerLine < columnSize)
-		{
-			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;
-		formatViewer();
-
-		updateSyncRowSize();
-		updateSyncColSize();
-		
-		return true;
-	}
-		
-	
-	/**
-	 * Returns the number of addressable units per row.
-	 *  
-	 * @return number of addressable units per row
-	 */
-	public int getAddressableUnitPerLine() {
-		return fBytePerLine / getAddressableSize();
-	}
-	
-	/**
-	 * Returns the number of addressable units per column.
-	 * 
-	 * @return number of addressable units per column
-	 */
-	public int getAddressableUnitPerColumn() {
-		return fColumnSize / getAddressableSize();
-	}
-	
-	
-	/**
-	 * This method estimates the number of visible lines in the rendering
-	 * table.  
-	 * @return estimated number of visible lines in the table
-	 */
-	private 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 = getMinTableItemHeight(table);
-		
-		int numberOfLines = height/lineHeight;
-		
-		if (numberOfLines <= 0)
-			return 20;
-	
-		return numberOfLines;		
-	}
-	
-	private int getMinTableItemHeight(Table table){
-		
-		// Hack to get around Linux GTK problem.
-		// On Linux GTK, table items have variable item height as
-		// carriage returns are actually shown in a cell.  Some rows will be
-		// taller than others.  When calculating number of visible lines, we
-		// need to find the smallest table item height.  Otherwise, the rendering
-		// underestimates the number of visible lines.  As a result the rendering
-		// will not be able to get more memory as needed.
-		if (MemoryViewUtil.isLinuxGTK())
-		{
-			// check each of the items and find the minimum
-			TableItem[] items = table.getItems();
-			int minHeight = table.getItemHeight();
-			for (int i=0; i<items.length; i++)
-			{
-				if (items[i].getData() != null)
-					minHeight = Math.min(items[i].getBounds(0).height, minHeight);
-			}
-			
-			return minHeight;
-				
-		}
-		return table.getItemHeight();
-	}
-	
-	private BigInteger getMemoryBlockBaseAddress() throws DebugException
-	{
-		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			return ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress();
-		else
-			return BigInteger.valueOf(getMemoryBlock().getStartAddress());
-	}
-	
-	/**
-	 * Displays the given message on the error page
-	 * @param message - the message to display
-	 */
-	protected void showMessage(final String message)
-	{
-		fSwitchPageJob.setShowMessagePage(true);
-		fSwitchPageJob.setMessage(message);
-		fSwitchPageJob.schedule();
-	}
-	
-	/**
-	 * Returns the number of bytes displayed in a single column cell.
-	 * 
-	 * @return the number of bytes displayed in a single column cell
-	 */
-	public int getBytesPerColumn()
-	{
-		return fColumnSize;
-	}
-
-	/**
-	 * Returns the number of bytes displayed in a row.
-	 * 
-	 * @return the number of bytes displayed in a row
-	 */
-	public int getBytesPerLine()
-	{		
-		return fBytePerLine;
-	}
-	
-	/**
-	 * Returns whether the error page is displayed.
-	 * 
-	 * @return whether the error page is displayed
-	 */
-	public boolean isDisplayingError()
-	{
-		return fShowMessage;
-	}
-	
-	/**
-	 * Displays the content of the table viewer.
-	 */
-	public void showTable()
-	{
-		fSwitchPageJob.setShowMessagePage(false);
-		fSwitchPageJob.schedule();
-	}
-	
-	private BigInteger getTopVisibleAddress() {
-		
-		if (fTableViewer == null)
-			return BigInteger.valueOf(0);
-
-		Table table = fTableViewer.getTable();
-		int topIndex = table.getTopIndex();
-
-		if (topIndex < 0) { return null; }
-
-		if (table.getItemCount() > topIndex) 
-		{
-			MemorySegment topItem = (MemorySegment)table.getItem(topIndex).getData();
-			if (topItem != null)
-			{
-				return topItem.getAddress();
-			}
-		}
-		return null;
-	}
-	
-	private  synchronized void  reloadTable(final BigInteger topAddress) {
-		
-		if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-			System.out.println(this + " reload at: " + topAddress.toString(16)); //$NON-NLS-1$
-		
-		fContentDescriptor.setLoadAddress(topAddress);
-		fContentDescriptor.setNumLines(getNumLinesToLoad());
-		fTableViewer.setTopIndex(topAddress);
-		fTableViewer.refresh();
-
-	}
-	
-	private boolean isAtTopLimit()
-	{	
-		BigInteger startAddress = fContentDescriptor.getStartAddress();
-		startAddress = MemoryViewUtil.alignToBoundary(startAddress, getAddressableUnitPerLine());
-		AbstractVirtualContentTableModel model = fTableViewer.getVirtualContentModel();
-		
-		if (model != null)
-		{
-			Object key = model.getKey(0);
-			if (key instanceof BigInteger)
-			{
-				BigInteger startBufferAddress = (BigInteger)key;
-				startBufferAddress = MemoryViewUtil.alignToBoundary(startBufferAddress, getAddressableUnitPerLine());
-				
-				if (startAddress.compareTo(startBufferAddress) == 0)
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	private boolean isAtBottomLimit()
-	{
-		BigInteger endAddress = fContentDescriptor.getEndAddress();
-		endAddress = MemoryViewUtil.alignToBoundary(endAddress, getAddressableUnitPerLine());
-		
-		AbstractVirtualContentTableModel model = fTableViewer.getVirtualContentModel();
-		if (model != null)
-		{
-			int numElements = model.getElements().length;
-			Object key = model.getKey(numElements-1);
-			if (key instanceof BigInteger)
-			{
-				BigInteger endBufferAddress = (BigInteger)key;
-				endBufferAddress = MemoryViewUtil.alignToBoundary(endBufferAddress, getAddressableUnitPerLine());
-				
-				if (endAddress.compareTo(endBufferAddress) == 0)
-					return true;
-			}
-		}
-		
-		return false;		
-	}
-	
-	private void formatViewer() {
-		
-		fTableViewer.disposeColumns();
-		fTableViewer.disposeCellEditors();
-		doFormatTable();
-		fTableViewer.setColumnHeaders(getColumnProperties());
-		fTableViewer.showColumnHeader(true);
-		fTableViewer.setCellEditors(createCellEditors(fTableViewer.getTable()));
-		
-		fTableViewer.formatViewer();
-		
-		// This resize needs to happen after the viewer has finished
-		// getting the labels.
-		// This fix is a hack to delay the resize until the viewer has a chance to get
-		// the setData event from the UI thread.  Otherwise, the columns will be
-		// squeezed together.
-		UIJob job = new UIJob("resize to fit"){ //$NON-NLS-1$
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				resizeColumnsToPreferredSize();
-				return Status.OK_STATUS;
-			}};
-		
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	private void doFormatTable() {
-		int bytesPerLine = getBytesPerLine();
-		int columnSize = getBytesPerColumn();
-		int numColumns = bytesPerLine/columnSize;
-		
-		Table table = fTableViewer.getTable();
-		TableColumn column0 = new TableColumn(table,SWT.LEFT,0);
-		column0.setText(DebugUIMessages.AbstractTableRendering_2); 
-		
-		// create new byte columns
-		TableColumn [] byteColumns = new TableColumn[numColumns];		
-		for (int i=0;i<byteColumns.length; i++)
-		{
-			TableColumn column = new TableColumn(table, SWT.LEFT, i+1);
-			byteColumns[i] = column;
-		}
-		
-		//Empty column for cursor navigation
-		TableColumn emptyCol = new TableColumn(table,SWT.LEFT,byteColumns.length+1);
-		emptyCol.setText(" "); //$NON-NLS-1$
-		emptyCol.setWidth(1);
-		emptyCol.setResizable(false);
-	    table.setHeaderVisible(true);
-	    
-	    // allow clients to override column labels
-	   setColumnHeadings();
-	    
-	}
-	
-	private String[] getColumnProperties()
-	{
-		int numColumns = getAddressableUnitPerLine()/getAddressableUnitPerColumn();
-		// +2 to include properties for address and navigation column
-		String[] columnProperties = new String[numColumns+2];
-		columnProperties[0] = TableRenderingLine.P_ADDRESS;
-		
-		int addressableUnit = getAddressableUnitPerColumn();
-
-		// use column beginning offset to the row address as properties
-		for (int i=1; i<columnProperties.length-1; i++)
-		{
-			// column properties are stored as number of addressable units from the
-			// the line address
-			columnProperties[i] = Integer.toHexString((i-1)*addressableUnit);
-		}
-		
-		// Empty column for cursor navigation
-		columnProperties[columnProperties.length-1] = " "; //$NON-NLS-1$
-		return columnProperties;
-	}
-	
-   private CellEditor[] createCellEditors(Table table) {
-        CellEditor[] editors = new CellEditor[table.getColumnCount()];
-        for (int i=0; i<editors.length; i++)
-        {
-        	editors[i] = new TextCellEditor(table);
-        }
-        return editors;
-    }
-   
-   	private ICellModifier createCellModifier() {
-       return new AsyncTableRenderingCellModifier(this);
-   	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.AbstractMemoryRendering#dispose()
-	 */
-	public void dispose() {
-		
-		if (fIsDisposed)
-			return;
-		
-		removeListeners();
-		
-		if (fTableViewer != null)
-		{
-			if (fViewerListener != null)
-				fTableViewer.removeVirtualContentListener(fViewerListener);
-			
-			if (fPresentationErrorListener != null)
-				fTableViewer.removePresentationErrorListener(fPresentationErrorListener);
-			
-			fTableViewer.removeSelectionChangedListener(fViewerSelectionChangedListener);
-			fTableViewer.getTable().getVerticalBar().removeSelectionListener(fScrollBarSelectionListener);
-			
-			fTableViewer.dispose();
-		}
-		
-		fIsDisposed = true;
-		
-		super.dispose();
-	}
-	
-	/**
-	 * Updates the label of this rendering, optionally displaying the
-	 * base address of this rendering's memory block.
-	 * 
-	 * @param showAddress whether to display the base address of this
-	 *  rendering's memory block in this rendering's label
-	 */
-	protected void updateRenderingLabel(final boolean showAddress)
-	{
-		Job job = new Job("Update Rendering Label"){ //$NON-NLS-1$
-
-			protected IStatus run(IProgressMonitor monitor) {
-				fLabel = buildLabel(showAddress);
-				firePropertyChangedEvent(new PropertyChangeEvent(AbstractAsyncTableRendering.this, IBasicPropertyConstants.P_TEXT, null, fLabel));
-				return Status.OK_STATUS;
-			}};
-		job.setSystem(true);
-		job.schedule();
-	}
-	
-	private String buildLabel(boolean showAddress) {
-		String label = ""; //$NON-NLS-1$
-		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-		{
-			label = ((IMemoryBlockExtension)getMemoryBlock()).getExpression();
-			
-			if (label.startsWith("&")) //$NON-NLS-1$
-				label = "&" + label; //$NON-NLS-1$
-			
-			if (label == null)
-			{
-				label = DebugUIMessages.AbstractTableRendering_8; 
-			}
-			
-			try {
-				if (showAddress && ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress() != null)
-				{	
-					label += " : 0x"; //$NON-NLS-1$
-					label += ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress().toString(16).toUpperCase();
-				}
-			} catch (DebugException e) {
-				// do nothing, the label will not show the address
-			}
-		}
-		else
-		{
-			long address = getMemoryBlock().getStartAddress();
-			label = Long.toHexString(address).toUpperCase();
-		}
-		
-		String preName = DebugUITools.getMemoryRenderingManager().getRenderingType(getRenderingId()).getLabel();
-		
-		if (preName != null)
-			label += " <" + preName + ">"; //$NON-NLS-1$ //$NON-NLS-2$
-		
-		return decorateLabel(label);
-	}
-	
-	/* Returns the label of this rendering.
-	 * 
-	 * @return label of this rendering
-	 */
-	public String getLabel() {
-		
-		if (fLabel == null)
-		{
-			fLabel = DebugUIMessages.AbstractAsyncTableRendering_1;
-			updateRenderingLabel(isVisible());
-		}
-		
-		return fLabel;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		
-		if (adapter == IColorProvider.class)
-			return getColorProviderAdapter();
-		
-		if (adapter == ILabelProvider.class)
-			return getLabelProviderAdapter();
-		
-		if (adapter == IFontProvider.class)
-			return getFontProviderAdapter();
-		
-		if (adapter == IModelChangedListener.class)
-		{
-			return fModelChangedListener;
-		}
-		
-		if (adapter == IWorkbenchAdapter.class)
-		{
-			// needed workbench adapter to fill the title of property page
-			if (fWorkbenchAdapter == null) {
-				fWorkbenchAdapter = new IWorkbenchAdapter() {
-					public Object[] getChildren(Object o) {
-						return new Object[0];
-					}
-	
-					public ImageDescriptor getImageDescriptor(Object object) {
-						return null;
-					}
-	
-					public String getLabel(Object o) {
-						return AbstractAsyncTableRendering.this.getLabel();
-					}
-	
-					public Object getParent(Object o) {
-						return null;
-					}
-				};
-			}
-			return fWorkbenchAdapter;
-		}
-		
-		if (adapter == TableRenderingContentDescriptor.class)
-			return getContentDescriptor();
-		
-		return super.getAdapter(adapter);
-	}
-	
-	/**
-	 * Returns the number of characters a byte will convert to
-	 * or -1 if unknown.
-	 * 
-	 * @return the number of characters a byte will convert to
-	 *  or -1 if unknown
-	 */
-	public int getNumCharsPerByte()
-	{
-		return -1;
-	}
-	
-	/**
-	 * Create actions for this rendering
-	 */
-	protected void createActions() {
-		
-		fCopyToClipboardAction = new AsyncCopyTableRenderingAction(this, fTableViewer);
-		fGoToAddressAction = new RenderingGoToAddressAction(this);
-		fResetMemoryBlockAction = new ResetToBaseAddressAction(this);
-		
-		fPrintViewTabAction = new AsyncPrintTableRenderingAction(this, fTableViewer);
-		
-		fFormatRenderingAction = new FormatTableRenderingAction(this);		
-		fReformatAction = new ReformatAction(this);
-		fToggleAddressColumnAction = new ToggleAddressColumnAction();
-		
-		IMemoryRenderingSite site = getMemoryRenderingContainer().getMemoryRenderingSite();
-		if (site.getSite().getSelectionProvider() != null)
-		{
-			fPropertiesDialogAction = new PropertyDialogAction(site.getSite(),site.getSite().getSelectionProvider()); 
-		}
-		
-		fNextAction = new NextPageAction();
-		fPrevAction = new PrevPageAction();
-	}
-	
-	/**
-	 * Returns the currently selected address in this rendering.
-	 * 
-	 * @return the currently selected address in this rendering
-	 */
-	public BigInteger getSelectedAddress() {
-		Object key = fTableViewer.getSelectionKey();
-		
-		if (key != null && key instanceof BigInteger)
-			return (BigInteger)key;
-		
-		return null;
-	}
-
-	/**
-	 * Returns the currently selected content in this rendering as MemoryByte.
-	 * 
-	 * @return the currently selected content in array of MemoryByte.  
-	 * Returns an empty array if the selected address is out of buffered range.
-	 */
-	public MemoryByte[] getSelectedAsBytes()
-	{
-		if (getSelectedAddress() == null)
-			return new MemoryByte[0];
-		
-		Object key = fTableViewer.getSelectionKey();
-		AbstractVirtualContentTableModel model = fTableViewer.getVirtualContentModel();
-		
-		if (model != null)
-		{
-			model = (AbstractVirtualContentTableModel)fTableViewer.getModel();
-			int row = model.indexOfKey(key);
-			Object element = model.getElement(row);
-			int col = model.columnOf(element, key);
-		
-			// check precondition
-			if (col <= 0 || col > getBytesPerLine()/getBytesPerColumn())
-			{
-				return new MemoryByte[0];
-			}
-			
-			if (!(element instanceof MemorySegment))
-				return new MemoryByte[0];
-			
-			MemorySegment line = (MemorySegment)element;
-			int offset = (col-1)*(getAddressableUnitPerColumn()*getAddressableSize());
-			
-			// make a copy of the bytes to ensure that data cannot be changed
-			// by caller
-			MemoryByte[] bytes = line.getBytes(offset, getAddressableUnitPerColumn()*getAddressableSize());
-			MemoryByte[] retBytes = new MemoryByte[bytes.length];
-			
-			System.arraycopy(bytes, 0, retBytes, 0, bytes.length);
-			return retBytes;
-		}
-		return new MemoryByte[0];
-	}
-
-	/**
-	 * Returns the currently selected content in this rendering as a String.
-	 * 
-	 * @return the currently selected content in this rendering
-	 */
-	public String getSelectedAsString() {
-
-		if (getSelectedAddress() == null)
-			return ""; //$NON-NLS-1$
-		
-		MemoryByte[] bytes = getSelectedAsBytes();
-		if (bytes.length > 0)
-		{
-			return getString(this.getRenderingId(), getSelectedAddress(), bytes);
-		}
-		else
-			return ""; //$NON-NLS-1$
-		
-	}
-
-	/**
-	 * Moves the cursor to the specified address.
-	 * Will load more memory if the address is not currently visible.
-	 * 
-	 * @param address address to position cursor at
-	 * @throws DebugException if an exception occurrs
-	 */
-	public void goToAddress(BigInteger address) throws DebugException {
-		
-		if (fTableViewer.getVirtualContentModel() == null)
-			return;
-		
-		int i = fTableViewer.getVirtualContentModel().indexOfKey(address);
-
-		if (i >= 0)
-		{	
-			// address is within range, set cursor and reveal
-			fTableViewer.setSelection(address);
-			updateSyncTopAddress(getTopVisibleAddress());
-			updateSyncSelectedAddress(address);
-		}
-		else
-		{
-			// if not extended memory block
-			// do not allow user to go to an address that's out of range
-			if (!(getMemoryBlock() instanceof IMemoryBlockExtension))
-			{
-				Status stat = new Status(
-				 IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(),
-				 DebugException.NOT_SUPPORTED, DebugUIMessages.AbstractTableRendering_11, null  
-				);
-				DebugException e = new DebugException(stat);
-				throw e;
-			}
-
-			BigInteger startAdd = fContentDescriptor.getStartAddress();
-			BigInteger endAdd = fContentDescriptor.getEndAddress();
-			
-			if (address.compareTo(startAdd) < 0 ||
-				address.compareTo(endAdd) > 0)
-			{
-				Status stat = new Status(
-				 IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(),
-				 DebugException.NOT_SUPPORTED, DebugUIMessages.AbstractTableRendering_11, null  
-				);
-				DebugException e = new DebugException(stat);
-				throw e;
-			}
-	
-			// load at the address
-			fTableViewer.setSelection(address);
-			reloadTable(address);
-	
-			updateSyncSelectedAddress(address);
-
-			if (!isDynamicLoad())
-			{						
-				updateSyncPageStartAddress(address);
-			}
-			
-			updateSyncTopAddress(address);
-		}
-	}			
-	
-	/**
-	 * Refresh the table viewer with the current top visible address.
-	 * Update labels in the memory rendering.
-	 */
-	public void refresh() {
-		fTableViewer.refresh();
-	}
-
-	
-	/**
-	 * Resize column to the preferred size.
-	 */
-	public void resizeColumnsToPreferredSize() {
-		fTableViewer.resizeColumnsToPreferredSize();
-		if (!fIsShowAddressColumn)
-		{
-			final TableColumn column = fTableViewer.getTable().getColumn(0);
-			column.addControlListener(new ControlListener() {
-
-				public void controlMoved(ControlEvent e) {
-				}
-
-				public void controlResized(ControlEvent e) {
-					column.removeControlListener(this);
-					column.setWidth(0);
-				}});
-		}
-	}
-
-	/**
-	 * Updates labels of this rendering.
-	 */
-	public void updateLabels()
-	{
-		UIJob job = new UIJob("updateLabels"){ //$NON-NLS-1$
-
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				
-				// do not handle if the rendering is already disposed
-				if (fPageBook.isDisposed())
-					return Status.OK_STATUS;
-				
-				// update tab labels
-				updateRenderingLabel(true);
-				
-				if (fTableViewer != null)
-				{
-					// update column labels
-					setColumnHeadings();
-					
-					// rebuild cache and force labels to be refreshed
-					fTableViewer.formatViewer();
-				}
-				return Status.OK_STATUS;
-			}};
-		job.setSystem(true);
-		job.schedule();
-	}
-	
-	/**
-	 * Fills the context menu for this rendering
-	 * 
-	 * @param menu menu to fill
-	 */
-	protected void fillContextMenu(IMenuManager menu) {	
-		
-		menu.add(new Separator(EMPTY_MEMORY_GROUP));
-		menu.add(new Separator());
-		menu.add(fResetMemoryBlockAction);
-		menu.add(fGoToAddressAction);
-		menu.add(new Separator(EMPTY_NAVIGATION_GROUP));
-		
-		menu.add(new Separator());
-		menu.add(fFormatRenderingAction);
-
-		if (!isDynamicLoad() && getMemoryBlock() instanceof IMemoryBlockExtension)
-		{		
-			menu.add(new Separator());
-			menu.add(fPrevAction);
-			menu.add(fNextAction);
-			menu.add(new Separator(EMPTY_NON_AUTO_LOAD_GROUP));
-		}
-		
-		menu.add(new Separator());
-		menu.add(fReformatAction);
-		menu.add(fToggleAddressColumnAction);
-		menu.add(new Separator());
-		menu.add(fCopyToClipboardAction);
-		menu.add(fPrintViewTabAction);
-		if (fPropertiesDialogAction != null)
-		{
-			menu.add(new Separator());
-			menu.add(fPropertiesDialogAction);
-			menu.add(new Separator(EMPTY_PROPERTY_GROUP));
-		}
-		
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	private int getPageSizeInUnits()
-	{
-		return fPageSize * getAddressableUnitPerLine();
-	}
-	
-	private void getPageSizeFromPreference()
-	{
-		fPageSize = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE);
-	}
-	
-	private void updateDynamicLoadProperty() {
-		
-		boolean value = DebugUIPlugin
-				.getDefault()
-				.getPreferenceStore()
-				.getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
-		
-		if (value != isDynamicLoad())
-		{
-			setDynamicLoad(value);
-		
-			if (!fIsDisposed) {
-				if (isDynamicLoad()) {
-					fContentDescriptor.setPostBuffer(20);
-					fContentDescriptor.setPreBuffer(20);
-					fContentDescriptor.setNumLines(getNumberOfVisibleLines());
-	
-				} else {
-					fContentDescriptor.setPostBuffer(0);
-					fContentDescriptor.setPreBuffer(0);
-					fContentDescriptor.setNumLines(fPageSize);
-				}	
-			}
-		}
-	}
-	
-	private void getDynamicLoadFromPreference()
-	{
-		setDynamicLoad(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM));
-	}
-	
-	private boolean isDynamicLoad()
-	{
-		return fContentDescriptor.isDynamicLoad();
-	}
-	
-	private int getPageSize()
-	{
-		return fPageSize;
-	}
-	
-	private int getNumLinesToLoad() {
-		int numberOfLines = -1;
-		
-		if (isDynamicLoad())
-			numberOfLines = getNumberOfVisibleLines();
-		else
-			numberOfLines = getPageSize();
-		
-		return numberOfLines;
-	}
-	
-	private void setDynamicLoad(boolean load)
-	{
-		fContentDescriptor.setDynamicLoad(load);
-	}
-	
-	private void handlePageStartAddressChanged(BigInteger address)
-	{
-		// do not handle if in dynamic mode
-		if (isDynamicLoad())
-			return;
-		
-		if (!(getMemoryBlock() instanceof IMemoryBlockExtension))
-			return;
-		
-		// do not handle event if the base address of the memory
-		// block has changed, wait for debug event to update to
-		// new location
-		if (isMemoryBlockBaseAddressChanged())
-			return;
-
-		if(fTableViewer.getKey(0).equals(address))
-			return;
-	
-		BigInteger start = fContentDescriptor.getStartAddress();
-		BigInteger end = fContentDescriptor.getEndAddress();
-		
-		// smaller than start address, load at start address
-		if (address.compareTo(start) < 0)
-		{
-			if (isAtTopLimit())
-				return;
-			
-			address = start;
-		}
-		
-		// bigger than end address, no need to load, alread at top
-		if (address.compareTo(end) > 0)
-		{
-			if (isAtBottomLimit())
-				return;
-			
-			address = end.subtract(BigInteger.valueOf(getPageSizeInUnits()));
-		}
-		
-		fContentDescriptor.setLoadAddress(address);
-		final BigInteger finaladdress = address;
-		Runnable runnable = new Runnable() {
-			public void run() {
-				if (fTableViewer.getTable().isDisposed())
-					return;
-				
-				fTableViewer.setTopIndex(finaladdress);
-				refresh();
-			}};
-		
-		runOnUIThread(runnable);
-
-		updateSyncPageStartAddress(address);
-		updateSyncTopAddress(address);
-	}
-	private void handleDyanicLoadChanged() {
-		
-		// if currently in dynamic load mode, update page
-		// start address
-		BigInteger pageStart = getTopVisibleAddress();
-		updateSyncPageStartAddress(pageStart);
-		
-		updateDynamicLoadProperty();
-		if (isDynamicLoad())
-		{
-			refresh();
-			fTableViewer.setTopIndex(pageStart);
-		}
-		else
-		{
-			handlePageStartAddressChanged(pageStart);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#becomesHidden()
-	 */
-	public void becomesHidden() {
-		// creates new object for storing potential changes in sync properties
-		fPendingSyncProperties = new PendingPropertyChanges();		
-		super.becomesHidden();
-		
-		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			updateRenderingLabel(false);	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#becomesVisible()
-	 */
-	public void becomesVisible() {
-		
-		if (!fIsCreated)
-		{
-			super.becomesVisible();
-			return;
-		}
-		
-		// do not do anything if already visible
-		if (isVisible() == true)
-		{
-			// super should always be called
-			super.becomesVisible();
-			return;
-		}
-		
-		super.becomesVisible();
-		
-		if (fPendingSyncProperties != null)
-		{
-			// deal with format
-			boolean format = false;
-			int rowSize = getBytesPerLine();
-			if (fPendingSyncProperties.getRowSize() > 0)
-			{
-				format = true;
-				rowSize = fPendingSyncProperties.getRowSize();
-			}
-			
-			int colSize = getBytesPerColumn();
-			if (fPendingSyncProperties.getColumnSize() > 0)
-			{
-				format = true;
-				colSize = fPendingSyncProperties.getColumnSize();
-			}
-			
-			if (format)
-				format(rowSize, colSize);
-			
-			BigInteger selectedAddress = fPendingSyncProperties.getSelectedAddress();
-			if (selectedAddress != null)
-				fTableViewer.setSelection(selectedAddress);
-			
-			updateDynamicLoadProperty();
-			
-			if (isDynamicLoad())
-			{
-				BigInteger topVisibleAddress = fPendingSyncProperties.getTopVisibleAddress();
-				if (topVisibleAddress != null)
-				{
-					fContentDescriptor.setLoadAddress(topVisibleAddress);
-					fTableViewer.setTopIndex(topVisibleAddress);
-				}
-			}
-			else if (!(getMemoryBlock() instanceof IMemoryBlockExtension))
-			{
-				BigInteger topVisibleAddress = fPendingSyncProperties.getTopVisibleAddress();
-				if (topVisibleAddress != null)
-					fTableViewer.setTopIndex(topVisibleAddress);
-			}
-			else
-			{
-				if (fPendingSyncProperties.getPageSize() > 0)
-				{
-					fPageSize = fPendingSyncProperties.getPageSize();
-					fContentDescriptor.setNumLines(fPageSize);
-				}
-				
-				BigInteger pageStartAddress = fPendingSyncProperties.getPageStartAddress();
-				if (pageStartAddress != null)
-					fContentDescriptor.setLoadAddress(pageStartAddress);
-				
-				fTableViewer.setTopIndex(pageStartAddress);
-			}
-			
-			showTable();
-			refresh();
-		}
-
-		updateRenderingLabel(true);
-		
-		Job job = new Job("becomesVisible") //$NON-NLS-1$
-		{
-			protected IStatus run(IProgressMonitor monitor) {
-				try {
-					fContentDescriptor.updateContentBaseAddress();
-				} catch (DebugException e) {
-					showMessage(e.getMessage());
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-		
-		// discard these properties
-		fPendingSyncProperties = null;
-	}
-	
-	/**
-	 * Handle column size changed event from synchronizer
-	 * @param newColumnSize
-	 */
-	private void columnSizeChanged(final int newColumnSize) {
-		// ignore event if rendering is not visible
-		if (!isVisible())
-			return;
-
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				int rowSize = getBytesPerLine();
-				if (rowSize < newColumnSize)
-					rowSize = newColumnSize;
-					
-				format(rowSize, newColumnSize);
-			}
-		});
-	}
-	
-	/**
-	 * @param newRowSize - new row size in number of bytes
-	 */
-	private void rowSizeChanged(final int newRowSize)
-	{
-		// ignore event if rendering is not visible
-		if (!isVisible())
-			return;
-		
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				int colSize = getBytesPerColumn();
-				if (newRowSize < colSize)
-					colSize = newRowSize;
-				
-				format(newRowSize, colSize);
-			}
-		});		
-	}
-	
-	/**
-	 * update selected address in synchronizer if update is true.
-	 */
-	private void updateSyncSelectedAddress(BigInteger address) {
-		
-		if (!fIsCreated)
-			return;
-		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractAsyncTableRendering.PROPERTY_SELECTED_ADDRESS, null, address);
-		firePropertyChangedEvent(event);
-	}
-	
-	/**
-	 * update column size in synchronizer
-	 */
-	private void updateSyncColSize() {
-		
-		if (!fIsCreated)
-			return;
-		
-		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractAsyncTableRendering.PROPERTY_COL_SIZE, null, new Integer(fColumnSize));
-		firePropertyChangedEvent(event);
-	}
-	
-	/**
-	 * update column size in synchronizer
-	 */
-	private void updateSyncRowSize() {
-		
-		if (!fIsCreated)
-			return;
-		
-		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractAsyncTableRendering.PROPERTY_ROW_SIZE, null, new Integer(fBytePerLine));
-		firePropertyChangedEvent(event);
-	}
-	
-	/**
-	 * update top visible address in synchronizer
-	 */
-	private void updateSyncTopAddress(BigInteger address) {
-		
-		if (!fIsCreated)
-			return;
-
-		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractAsyncTableRendering.PROPERTY_TOP_ADDRESS, null, address);
-		firePropertyChangedEvent(event);
-	}
-	
-	private void updateSyncPageStartAddress(BigInteger address) {
-	
-		if (!fIsCreated)
-			return;
-		
-		if (isMemoryBlockBaseAddressChanged())
-			return;
-		
-		PropertyChangeEvent event = new PropertyChangeEvent(this, IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS, null, address);
-		firePropertyChangedEvent(event);
-	}
-	
-	/**
-	 * Returns the color provider for this rendering's memory block or
-	 * <code>null</code> if none.
-	 * <p>
-	 * By default a color provider is obtained by aksing this rendering's
-	 * memory bock for its {@link IColorProvider} adapter. When the color
-	 * provider is queried for color information, it is provided with a
-	 * {@link MemoryRenderingElement} as an argument. 
-	 * </p>
-	 * @return the color provider for this rendering's memory block,
-	 *  or <code>null</code>
-	 */
-	protected IColorProvider getColorProviderAdapter()
-	{
-		return (IColorProvider)getMemoryBlock().getAdapter(IColorProvider.class);
-	}
-	
-	/**
-	 * Returns the label provider for this rendering's memory block or
-	 * <code>null</code> if none.
-	 * <p>
-	 * By default a label provider is obtained by aksing this rendering's
-	 * memory bock for its {@link ILabelProvider} adapter. When the label
-	 * provider is queried for label information, it is provided with a
-	 * {@link MemoryRenderingElement} as an argument. 
-	 * </p>
-	 * @return the label provider for this rendering's memory block,
-	 *  or <code>null</code>
-	 */
-	protected ILabelProvider getLabelProviderAdapter()
-	{
-		return (ILabelProvider)getMemoryBlock().getAdapter(ILabelProvider.class);
-	}
-	
-	/**
-	 * Returns the font provider for this rendering's memory block or
-	 * <code>null</code> if none.
-	 * <p>
-	 * By default a font provider is obtained by aksing this rendering's
-	 * memory bock for its {@link IFontProvider} adapter. When the font
-	 * provider is queried for font information, it is provided with a
-	 * {@link MemoryRenderingElement} as an argument. 
-	 * </p>
-	 * @return the font provider for this rendering's memory block,
-	 *  or <code>null</code>
-	 */
-	protected IFontProvider getFontProviderAdapter()
-	{
-		return (IFontProvider)getMemoryBlock().getAdapter(IFontProvider.class);
-	}
-	
-	/**
-	 * Returns the table presentation for this rendering's memory block or
-	 * <code>null</code> if none.
-	 * <p>
-	 * By default a table presentation is obtained by aksing this rendering's
-	 * memory bock for its {@link IMemoryBlockTablePresentation} adapter.
-	 * </p>
-	 * @return the table presentation for this rendering's memory block,
-	 *  or <code>null</code>
-	 */
-	protected IMemoryBlockTablePresentation getTablePresentationAdapter()
-	{
-		return (IMemoryBlockTablePresentation)getMemoryBlock().getAdapter(IMemoryBlockTablePresentation.class);
-	}
-	
-	/**
-	 * Setup the viewer so it supports hovers to show the offset of each field
-	 */
-	private void createToolTip() {
-		
-		fToolTipShell = new Shell(DebugUIPlugin.getShell(), SWT.ON_TOP | SWT.RESIZE );
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 1;
-		gridLayout.marginWidth = 2;
-		gridLayout.marginHeight = 0;
-		fToolTipShell.setLayout(gridLayout);
-		fToolTipShell.setBackground(fTableViewer.getTable().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		
-		final Control toolTipControl = createToolTipControl(fToolTipShell);
-		
-		if (toolTipControl == null)
-		{
-			// if client decide not to use tooltip support
-			fToolTipShell.dispose();
-			return;
-		}
-		
-		MouseTrackAdapter listener = new MouseTrackAdapter(){
-			
-			private TableItem fTooltipItem = null;
-			private int fCol = -1;
-			
-			public void mouseExit(MouseEvent e){
-				
-				if (!fToolTipShell.isDisposed())
-					fToolTipShell.setVisible(false);
-				fTooltipItem = null;
-			}
-			
-			public void mouseHover(MouseEvent e){
-				
-				Point hoverPoint = new Point(e.x, e.y);
-				Control control = null;
-				
-				if (e.widget instanceof Control)
-					control = (Control)e.widget;
-				
-				if (control == null)
-					return;
-				
-				hoverPoint = control.toDisplay(hoverPoint);
-				TableItem item = getItem(hoverPoint);
-				int column = getColumn(hoverPoint);
-				
-				//Only if there is a change in hover
-				if(this.fTooltipItem != item || fCol != column){
-					
-					//Keep Track of the latest hover
-					fTooltipItem = item;
-					fCol = column;
-					
-					if(item != null){
-						toolTipAboutToShow(toolTipControl, fTooltipItem, column);
-						
-						//Setting location of the tooltip
-						Rectangle shellBounds = fToolTipShell.getBounds();
-						shellBounds.x = hoverPoint.x;
-						shellBounds.y = hoverPoint.y + item.getBounds(0).height;
-						
-						fToolTipShell.setBounds(shellBounds);
-						fToolTipShell.pack();
-						
-						fToolTipShell.setVisible(true);
-					}
-					else {
-						fToolTipShell.setVisible(false);
-					}
-				}
-			}
-		};
-		
-		fTableViewer.getTable().addMouseTrackListener(listener);
-		fTableViewer.getCursor().addMouseTrackListener(listener);
-	}
-	
-	/**
-	 * Creates the control used to display tool tips for cells in this table. By default
-	 * a label is used to display the address of the cell. Clients may override this
-	 * method to create custom tooltip controls.
-	 * <p>
-	 * Also see the methods <code>getToolTipText(...)</code> and 
-	 * <code>toolTipAboutToShow(...)</code>.
-	 * </p>
-	 * @param composite parent for the tooltip control
-	 * @return the tooltip control to be displayed
-	 * @since 3.2
-	 */
-	protected Control createToolTipControl(Composite composite) {
-		Control fToolTipLabel = new Label(composite, SWT.NONE);
-		fToolTipLabel.setForeground(fTableViewer.getTable().getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-		fToolTipLabel.setBackground(fTableViewer.getTable().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		fToolTipLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL |
-				GridData.VERTICAL_ALIGN_CENTER));
-		return fToolTipLabel;
-	}
-	
-	/**
-	 * Bug with table widget,BUG 113015, the widget is not able to return the correct
-	 * table item if SWT.FULL_SELECTION is not on when the table is created.
-	 * Created the following function to work around the problem.
-	 * We can remove this method when the bug is fixed.
-	 * @param point
-	 * @return the table item where the point is located, return null if the item cannot be located.
-	 */
-	private TableItem getItem(Point point)
-	{
-		TableItem[] items = fTableViewer.getTable().getItems();
-		for (int i=0; i<items.length; i++)
-		{
-			TableItem item = items[i];
-			if (item.getData() != null)
-			{
-				Point start = new Point(item.getBounds(0).x, item.getBounds(0).y);
-				start = fTableViewer.getTable().toDisplay(start);
-				Point end = new Point(start.x + item.getBounds(0).width, start.y + item.getBounds(0).height);
-				
-				if (start.y < point.y && point.y < end.y)
-					return item;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Method for figuring out which column the point is located.
-	 * @param point
-	 * @return the column index where the point is located, return -1 if column is not found.
-	 */
-	private int getColumn(Point point)
-	{
-		int colCnt = fTableViewer.getTable().getColumnCount();
-		
-		TableItem item = null;
-		for (int i=0; i<fTableViewer.getTable().getItemCount(); i++)
-		{
-			item = fTableViewer.getTable().getItem(i);
-			if (item.getData() != null)
-				break;
-		}
-		
-		if (item != null)
-		{
-			for (int i=0; i<colCnt; i++)
-			{
-				Point start = new Point(item.getBounds(i).x, item.getBounds(i).y);
-				start = fTableViewer.getTable().toDisplay(start);
-				Point end = new Point(start.x + item.getBounds(i).width, start.y + item.getBounds(i).height);
-				
-				if (start.x < point.x && end.x > point.x)
-					return i;
-			}
-		}
-		return -1;
-	}
-	
-	/**
-	 * Called when the tool tip is about to show in this rendering.
-	 * Clients who overrides <code>createTooltipControl</code> may need to
-	 * also override this method to ensure that the tooltip shows up properly
-	 * in their customized control.
-	 * <p>
-	 * By default a text tooltip is displayed, and the contents for the tooltip
-	 * are generated by the <code>getToolTipText(...)</code> method.
-	 * </p>
-	 * @param toolTipControl - the control for displaying the tooltip
-	 * @param item - the table item where the mouse is pointing.
-	 * @param col - the column at which the mouse is pointing.
-	 * @since 3.2
-	 */
-	protected void toolTipAboutToShow(Control toolTipControl, TableItem item,
-			int col) {
-		if (toolTipControl instanceof Label) {
-			Object address = fTableViewer.getKey(fTableViewer.getTable().indexOf(item), col);
-			if (address != null  && address instanceof BigInteger) {
-				Object data = item.getData();
-				if (data instanceof MemorySegment) {
-					MemorySegment line = (MemorySegment) data;
-
-					if (col > 0) {
-						int start = (col - 1) * getBytesPerColumn();
-						int end = start + getBytesPerColumn();
-						MemoryByte[] bytes = line.getBytes(start, end);
-
-						String str = getToolTipText((BigInteger)address, bytes);
-
-						if (str != null)
-							((Label) toolTipControl).setText(str);
-					} else {
-						String str = getToolTipText((BigInteger)address,
-								new MemoryByte[] {});
-
-						if (str != null)
-							((Label) toolTipControl).setText(str);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns the text to display in a tool tip at the specified address
-	 * for the specified bytes. By default the address of the bytes is displayed.
-	 * Subclasses may override.
-	 * 
-	 * @param address address of cell that tool tip is displayed for 
-	 * @param bytes the bytes in the cell
-	 * @return the tooltip text for the memory bytes located at the specified
-	 *         address
-	 * @since 3.2
-	 */
-	protected String getToolTipText(BigInteger address, MemoryByte[] bytes)
-	{
-		StringBuffer buf = new StringBuffer("0x"); //$NON-NLS-1$
-		buf.append(address.toString(16).toUpperCase());
-		
-		return buf.toString();
-	}
-	
-	private void setColumnHeadings()
-	{
-		String[] columnLabels = new String[0];
-		
-		IMemoryBlockTablePresentation presentation = getTablePresentationAdapter();
-		if (presentation != null)
-		{
-			columnLabels = presentation.getColumnLabels(getMemoryBlock(), getBytesPerLine(), getBytesPerLine()/getBytesPerColumn());
-		}
-		
-		// check that column labels returned are not null
-		if (columnLabels == null)
-			columnLabels = new String[0];
-		
-		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
-				int addressableUnit = getAddressableUnitPerColumn();
-				if (addressableUnit >= 4)
-				{
-					columns[i].setText(Integer.toHexString(j*addressableUnit).toUpperCase() + 
-							" - " + Integer.toHexString(j*addressableUnit+addressableUnit-1).toUpperCase()); //$NON-NLS-1$
-				}
-				else
-				{
-					columns[i].setText(Integer.toHexString(j*addressableUnit).toUpperCase());
-				}
-				j++;
-			}
-		}
-	}
-	
-	/**
-	 * 
-	 * Return this rendering's viewer
-	 * @return this rendering's viewer
-	 */
-	public StructuredViewer getViewer()
-	{
-		return fTableViewer;
-	}
-	
-	private boolean isMemoryBlockBaseAddressChanged()
-	{
-		try {
-			BigInteger address = getMemoryBlockBaseAddress();
-			BigInteger oldBaseAddress = fContentDescriptor.getContentBaseAddress();
-			if (!oldBaseAddress.equals(address))
-				return true;
-		} catch (DebugException e) {
-			// fail silently
-		}
-		return false;
-	}
-	
-	/**
-	 * @param topVisibleAddress
-	 */
-	private void createContentDescriptor(final BigInteger topVisibleAddress) {
-		fContentDescriptor = new TableRenderingContentDescriptor(AbstractAsyncTableRendering.this);
-		fContentDescriptor.setPostBuffer(20);
-		fContentDescriptor.setPreBuffer(20);
-		fContentDescriptor.setLoadAddress(topVisibleAddress);
-		try {
-			fContentDescriptor.updateContentBaseAddress();
-			
-		} catch (DebugException e) {
-			fError = true;
-			showMessage(e.getMessage());
-		}
-		
-		fContentDescriptor.setAddressableSize(getAddressableSize());
-			
-		try {
-			int addressSize = 4;
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				IMemoryBlockExtension extMb = (IMemoryBlockExtension)getMemoryBlock();
-				addressSize = extMb.getAddressSize();
-				
-				if (addressSize <= 0)
-				{
-					DebugUIPlugin.logErrorMessage("Invalid address Size: " + addressSize); //$NON-NLS-1$
-					addressSize = 4;
-				}
-				fContentDescriptor.setAddressSize(addressSize);
-			}
-			fContentDescriptor.setAddressSize(addressSize);
-		} catch (DebugException e) {
-			fError = true;
-			showMessage(e.getMessage());
-		} finally {
-			if (fContentDescriptor.getAddressSize() <= 0)
-				fContentDescriptor.setAddressSize(4);
-		}
-		
-	}
-	
-	private TableRenderingContentDescriptor getContentDescriptor()
-	{
-		return fContentDescriptor;
-	}
-	
-	private void createGoToAddressComposite(Composite parent)
-	{
-		fGoToAddressComposite = new GoToAddressComposite();
-		fGoToAddressComposite.createControl(parent);
-		Button button = fGoToAddressComposite.getButton(IDialogConstants.OK_ID);
-		if (button != null)
-		{
-			button.addSelectionListener(new SelectionAdapter() {
-
-				public void widgetSelected(SelectionEvent e) {
-					doGoToAddress();
-				}
-			});
-			
-			button = fGoToAddressComposite.getButton(IDialogConstants.CANCEL_ID);
-			if (button != null)
-			{
-				button.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						hideGotoAddressComposite();
-					}});
-			}
-		}
-		
-		fGoToAddressComposite.getExpressionWidget().addSelectionListener(new SelectionAdapter() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				doGoToAddress();
-			}});
-		
-		fGoToAddressComposite.getExpressionWidget().addKeyListener(new KeyAdapter() {
-
-			public void keyPressed(KeyEvent e) {
-				if (e.keyCode == SWT.ESC)
-					hideGotoAddressComposite();
-				super.keyPressed(e);
-			}});
-	}
-	
-	private void showGoToAddressComposite() {
-		
-		String selectedStr = getSelectedAsString();
-		Text text = fGoToAddressComposite.getExpressionWidget();
-		text.setText(selectedStr);
-		text.setSelection(0, text.getCharCount());
-	
-		double height = fGoToAddressComposite.getHeight();
-		double canvasHeight = fSashForm.getParent().getClientArea().height;
-		double tableHeight = canvasHeight - height;
-		
-		double tableWeight = (tableHeight/canvasHeight) * 100;
-		double textWeight = (height / canvasHeight) * 100;
-		fSashForm.setWeights(new int[]{(int)tableWeight, (int)textWeight});
-		fSashForm.setMaximizedControl(null);
-		
-		fGoToAddressComposite.getExpressionWidget().setFocus();
-	}
-	
-	private void hideGotoAddressComposite()
-	{
-		fSashForm.setMaximizedControl(fTableViewer.getControl());
-		if (isActivated())
-			fTableViewer.getControl().setFocus();
-	}
-	
-	/**
-	 * 
-	 */
-	private void doGoToAddress() {
-		try {
-			BigInteger address = fGoToAddressComposite.getGoToAddress(fContentDescriptor.getContentBaseAddress(), getSelectedAddress());
-			fGoToAddressAction.doGoToAddress(address.toString(16));
-			hideGotoAddressComposite();
-		} catch (DebugException e1) {
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
-					DebugUIMessages.GoToAddressAction_Go_to_address_failed, e1);
-		} catch (NumberFormatException e1)
-		{
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
-				DebugUIMessages.GoToAddressAction_Address_is_invalid, e1);
-		}
-	}
-	
-	public void activated() {
-		super.activated();
-		
-		fActivated = true;
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		ICommandService commandSupport = (ICommandService)workbench.getAdapter(ICommandService.class);
-		IContextService contextSupport = (IContextService)workbench.getAdapter(IContextService.class);
-		
-		if (commandSupport != null && contextSupport != null)
-		{
-			fContext.add(contextSupport.activateContext(ID_ASYNC_TABLE_RENDERING_CONTEXT));
-			Command gotoCommand = commandSupport.getCommand(ID_GO_TO_ADDRESS_COMMAND);
-
-			if (fGoToAddressHandler == null)
-			{
-				fGoToAddressHandler = new AbstractHandler() {
-					public Object execute(ExecutionEvent event) throws ExecutionException {
-						if (fSashForm.getMaximizedControl() != null)
-							fGoToAddressAction.run();
-						else
-							hideGotoAddressComposite();
-						return null;
-					}};
-			}
-			gotoCommand.setHandler(fGoToAddressHandler);
-		}
-		
-	}
-
-
-	public void deactivated() {
-		
-		fActivated = false;
-    	IWorkbench workbench = PlatformUI.getWorkbench();
-		ICommandService commandSupport = (ICommandService)workbench.getAdapter(ICommandService.class);
-		IContextService contextSupport = (IContextService)workbench.getAdapter(IContextService.class);
-		
-		if (commandSupport != null && contextSupport != null)
-		{
-			// 	remove handler
-			Command command = commandSupport.getCommand(ID_GO_TO_ADDRESS_COMMAND);
-			command.setHandler(null);
-
-			if (fContext != null)
-				contextSupport.deactivateContexts(fContext);
-		}
-		super.deactivated();
-	}
-	
-	private boolean isActivated()
-	{
-		return fActivated;
-	}
-	
-	/**
-	 * Returns text for the given memory bytes at the specified address for the specified
-	 * rendering type. This is called by the label provider for.
-	 * Subclasses must override.
-	 * 
-	 * @param renderingTypeId rendering type identifier
-	 * @param address address where the bytes belong to
-	 * @param data the bytes
-	 * @return a string to represent the memory. Cannot not return <code>null</code>.
-	 * 	Returns a string to pad the cell if the memory cannot be converted
-	 *  successfully.
-	 */
-	abstract public String getString(String renderingTypeId, BigInteger address, MemoryByte[] data);
-	
-	/**
-	 * Returns bytes for the given text corresponding to bytes at the given
-	 * address for the specified rendering type. This is called by the cell modifier
-	 * when modifying bytes in a memory block.
-	 * Subclasses must convert the string value to an array of bytes.  The bytes will
-	 * be passed to the debug adapter for memory block modification.
-	 * Returns <code>null</code> if the bytes cannot be formatted properly.
-	 * 
-	 * @param renderingTypeId rendering type identifier
-	 * @param address address the bytes begin at
-	 * @param currentValues current values of the data in bytes format
-	 * @param newValue the string to be converted to bytes
-	 * @return the bytes converted from a string
-	 */
-	abstract public byte[] getBytes(String renderingTypeId, BigInteger address, MemoryByte[] currentValues, String newValue);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTextRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTextRendering.java
deleted file mode 100644
index 83f2948..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTextRendering.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.memory.provisional;
-
-import java.io.UnsupportedEncodingException;
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Abstract implementation of a rendering that translates memory into 
- * text, displayed in a table.
- * <p>
- * Clients should subclass from this class if they wish to provide a table
- * text rendering with a specific code page.
- * </p>
- * @since 3.2
- */
-abstract public class AbstractAsyncTextRendering extends AbstractAsyncTableRendering { 	
-	
-	private String fCodePage;
-
-	/**
-	 * Constructs a text rendering of the specified type.
-	 * 
-	 * @param renderingId memory rendering type identifier
-	 */
-	public AbstractAsyncTextRendering(String renderingId)
-	{
-		super(renderingId);
-	}
-	
-	/**
-	 * Constructs a text rendering of the specified type on the given
-	 * code page.
-	 * 
-	 * @param renderingId memory rendering type identifier
-	 * @param codePage the name of a supported
-     *  {@link java.nio.charset.Charset </code>charset<code>}, for
-     *  example <code>CP1252</code>
-	 */
-	public AbstractAsyncTextRendering(String renderingId, String codePage)
-	{
-		super(renderingId);
-		fCodePage = codePage;
-	}
-	
-	/**
-	 * Sets the code page for this rendering.  This does not cause
-	 * the rendering to be updated with the new code page.  Clients need
-	 * to update the rendering manually when the code page is changed.
-	 * 
-	 * @param codePage the name of a supported
-	 * {@link java.nio.charset.Charset </code>charset<code>}, for
-     *  example <code>CP1252</code>
-	 */
-	public void setCodePage(String codePage)
-	{
-		fCodePage = codePage;
-	}
-	
-	/**
-	 * Returns the current code page used by this rendering.  Returns null
-	 * if not set.
-	 * @return  Returns the current code page used by this rendering.  Returns null
-	 * if not set.
-	 */
-	public String getCodePage()
-	{
-		return fCodePage;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.provisional.AbstractAsyncTableRendering#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[])
-	 */
-	public String getString(String dataType, BigInteger address,  MemoryByte[] data) {
-		try {
-			String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-			if(fCodePage == null)
-				return ""; //$NON-NLS-1$
-			
-			boolean[] invalid = new boolean[data.length];
-			boolean hasInvalid = false;
-			byte byteArray[] = new byte[data.length];
-			for (int i=0; i<data.length; i++)
-			{
-				if (!data[i].isReadable())
-				{
-					invalid[i] = true;
-					hasInvalid = true;
-				}
-				byteArray[i] = data[i].getValue();
-			}
-			
-			if (hasInvalid)
-			{
-				StringBuffer strBuf = new StringBuffer();
-				for (int i=0; i<data.length; i++)
-				{
-					if (invalid[i])
-						strBuf.append(paddedStr);
-					else
-						strBuf.append(new String(new byte[]{byteArray[i]}, fCodePage));
-				}
-				return strBuf.toString();
-			}
-
-			return new String(byteArray, fCodePage);
-
-		} catch (UnsupportedEncodingException e) {
-			return "-- error --"; //$NON-NLS-1$
-		}
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.provisional.AbstractAsyncTableRendering#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String)
-	 */
-	public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) {
-		try {
-			
-			if (fCodePage == null)
-				return new byte[0];
-			
-			byte[] bytes =  data.getBytes(fCodePage);
-			return bytes;
-			
-		} catch (UnsupportedEncodingException e) {
-			return new byte[0];
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/MemoryViewPresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/MemoryViewPresentationContext.java
deleted file mode 100644
index 5d6718d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/MemoryViewPresentationContext.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.memory.provisional;
-
-import org.eclipse.debug.internal.ui.viewers.PresentationContext;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-
-/**
- * Presentation contex from the Memory View.  This presentation provides additional
- * information regarding the originator of the asynchronous request.
- * 
- * Clients may reference or subclass from this class.
- * 
- * @since 3.2
- *
- */
-public class MemoryViewPresentationContext extends PresentationContext  {
-
-	private IMemoryRenderingContainer fContainer;	
-	private IMemoryRendering fRendering;			
-	private IMemoryRenderingSite fMemoryView;
-	
-	/**
-	 * Constructs MemoryViewPresentationContext
-	 * @param site - the memory rendering site that this presetation context is for
-	 * @param container - the memory rendering container that this presentation context is for, may be <code>null</code>
-	 * @param rendering - - the memory rendering that this presentation context is for, may be <code>null</code>
-	 */
-	public MemoryViewPresentationContext(IMemoryRenderingSite site, IMemoryRenderingContainer container, IMemoryRendering rendering) {
-		super(site.getSite().getPart());
-		
-		fMemoryView = site;
-		fContainer = container;
-		fRendering = rendering;
-	}
-	
-	/**
-	 * Returns the memory rendering site that this presentation context is for
-	 * @return the memory rendering site that this presentation context is for
-	 */
-	public IMemoryRenderingSite getMemoryRenderingSite()
-	{
-		return fMemoryView;
-	}
-	
-	/**
-	 * Returns the memory rendering container that this presentation context is for
-	 * @return the memory rendering container that this presentation context is for, <code>null</code> if none.
-	 */
-	public IMemoryRenderingContainer getMemoryRenderingContainer()
-	{
-		return fContainer;
-	}
-	
-	/**
-	 * Returns the memory rendering that this presentation context is for
-	 * @return the memory rendering that this presentation context is for, <code>null</code> if none.
-	 */
-	public IMemoryRendering getRendering()
-	{
-		return fRendering;
-	}
-}
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 91e4342..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 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 929883e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.PlatformUI;
-
-/**
- * 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.ConsolePreferencePage_Console_settings); 
-		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(
-			getControl(),
-			IDebugHelpContextIds.CONSOLE_PREFERENCE_PAGE );
-	}
-	
-	/**
-	 * Create all field editors for this page
-	 */
-	public void createFieldEditors() {
-		
-		fWrapEditor = new BooleanFieldEditor2(IDebugPreferenceConstants.CONSOLE_WRAP, DebugPreferencesMessages.ConsolePreferencePage_Wrap_text_1, SWT.NONE, getFieldEditorParent()); 
-		addField(fWrapEditor);
-		
-		fWidthEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_WIDTH, DebugPreferencesMessages.ConsolePreferencePage_Console_width, getFieldEditorParent()); 
-		addField(fWidthEditor);
-		fWidthEditor.setValidRange(80, 1000);
-		fWidthEditor.setErrorMessage(DebugPreferencesMessages.ConsolePreferencePage_console_width); 
-		
-		fWrapEditor.getChangeControl(getFieldEditorParent()).addSelectionListener(
-			new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					updateWidthEditor();
-				}
-			}
-		);
-		
-		fUseBufferSize = new BooleanFieldEditor2(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT, DebugPreferencesMessages.ConsolePreferencePage_Limit_console_output_1, SWT.NONE, getFieldEditorParent()); 
-		addField(fUseBufferSize);
-		
-		fBufferSizeEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK, DebugPreferencesMessages.ConsolePreferencePage_Console_buffer_size__characters___2, getFieldEditorParent()); 
-		addField(fBufferSizeEditor);
-		fBufferSizeEditor.setValidRange(1000, 1000000);
-		fBufferSizeEditor.setErrorMessage(DebugPreferencesMessages.ConsolePreferencePage_The_console_buffer_size_must_be_at_least_1000_characters__1); 
-		
-		fUseBufferSize.getChangeControl(getFieldEditorParent()).addSelectionListener(
-			new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					updateBufferSizeEditor();
-				}
-			}
-		);
-		
-		fTabSizeEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH, DebugPreferencesMessages.ConsolePreferencePage_12, getFieldEditorParent()); 
-		addField(fTabSizeEditor);
-		fTabSizeEditor.setValidRange(1,100);
-		fTabSizeEditor.setErrorMessage(DebugPreferencesMessages.ConsolePreferencePage_13); 
-		
-		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, DebugPreferencesMessages.ConsolePreferencePage_Show__Console_View_when_there_is_program_output_3, SWT.NONE, getFieldEditorParent())); 
-		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, DebugPreferencesMessages.ConsolePreferencePage_Show__Console_View_when_there_is_program_error_3, SWT.NONE, getFieldEditorParent())); 
-
-		ColorFieldEditor sysout= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR, DebugPreferencesMessages.ConsolePreferencePage_Standard_Out__2, getFieldEditorParent()); 
-		ColorFieldEditor syserr= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR, DebugPreferencesMessages.ConsolePreferencePage_Standard_Error__3, getFieldEditorParent()); 
-		ColorFieldEditor sysin= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR, DebugPreferencesMessages.ConsolePreferencePage_Standard_In__4, getFieldEditorParent()); 
-		
-		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();
-		updateBufferSizeEditor();
-	}
-	
-	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);
-		}
-	}
-}
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 98b1b8d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ColorFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-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.PlatformUI;
-
-/**
- * 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.DebugPreferencePage_1); 
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.DEBUG_PREFERENCE_PAGE);
-	}
-	
-	/**
-	 * @see FieldEditorPreferencePage#createFieldEditors
-	 */
-	protected void createFieldEditors() {
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_REUSE_EDITOR, DebugPreferencesMessages.DebugPreferencePage_2, SWT.NONE, getFieldEditorParent())); 
-		
-		createSpacer(getFieldEditorParent(), 2);
-		
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_ACTIVATE_WORKBENCH, DebugPreferencesMessages.DebugPreferencePage_3, SWT.NONE, getFieldEditorParent())); 
-		addField(new BooleanFieldEditor(IInternalDebugUIConstants.PREF_ACTIVATE_DEBUG_VIEW, DebugPreferencesMessages.DebugPreferencePage_26, SWT.NONE, getFieldEditorParent())); 
-
-		createSpacer(getFieldEditorParent(), 2);
-		
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_SKIP_BREAKPOINTS_DURING_RUN_TO_LINE, DebugPreferencesMessages.DebugPreferencePage_25, SWT.NONE, getFieldEditorParent())); 
-		
-		createSpacer(getFieldEditorParent(), 2);
-		ColorFieldEditor mem= new ColorFieldEditor(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR, DebugPreferencesMessages.DebugPreferencePage_4, getFieldEditorParent()); 
-		addField(mem);
-		mem = new ColorFieldEditor(IInternalDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND, DebugPreferencesMessages.DebugPreferencePage_28, getFieldEditorParent());
-		addField(mem);
-		mem= new ColorFieldEditor(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR, DebugPreferencesMessages.DebugPreferencePage_0, getFieldEditorParent()); 
-		addField(mem);
-		mem= new ColorFieldEditor(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR, DebugPreferencesMessages.DebugPreferencePage_27, getFieldEditorParent()); 
-		addField(mem);
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-		
-	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;
-	}			
-}
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 01384b0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import org.eclipse.osgi.util.NLS;
-
-public class DebugPreferencesMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.preferences.DebugPreferencesMessages";//$NON-NLS-1$
-
-	public static String ConsolePreferencePage_Console_settings;
-	public static String ConsolePreferencePage_Show__Console_View_when_there_is_program_error_3;
-	public static String ConsolePreferencePage_Show__Console_View_when_there_is_program_output_3;
-	public static String ConsolePreferencePage_Standard_Error__3;
-	public static String ConsolePreferencePage_Standard_In__4;
-	public static String ConsolePreferencePage_Standard_Out__2;
-	public static String ConsolePreferencePage_Wrap_text_1;
-	public static String ConsolePreferencePage_Console_width;
-	public static String ConsolePreferencePage_Limit_console_output_1;
-	public static String ConsolePreferencePage_Console_buffer_size__characters___2;
-	public static String ConsolePreferencePage_The_console_buffer_size_must_be_at_least_1000_characters__1;
-	public static String ConsolePreferencePage_console_width;
-	public static String ConsolePreferencePage_12;
-	public static String ConsolePreferencePage_13;
-
-	public static String DebugPreferencePage_1;
-	public static String DebugPreferencePage_2;
-	public static String DebugPreferencePage_3;
-	public static String DebugPreferencePage_0;
-	public static String DebugPreferencePage_4;
-	public static String DebugPreferencePage_10;
-	public static String DebugPreferencePage_11;
-	public static String DebugPreferencePage_21;
-	public static String DebugPreferencePage_22;
-	public static String DebugPreferencePage_23;
-	public static String DebugPreferencePage_24;
-	public static String DebugPreferencePage_25;
-	public static String DebugPreferencePage_26;
-	public static String DebugPreferencePage_27;
-
-	public static String LaunchingPreferencePage_1;
-	public static String LaunchingPreferencePage_2;
-	public static String LaunchingPreferencePage_3;
-	public static String LaunchingPreferencePage_4;
-	public static String LaunchingPreferencePage_5;
-	public static String LaunchingPreferencePage_6;
-	public static String LaunchingPreferencePage_7;
-	public static String LaunchingPreferencePage_8;
-	public static String LaunchingPreferencePage_9;
-	public static String LaunchingPreferencePage_10;
-	public static String LaunchingPreferencePage_11;
-	public static String LaunchingPreferencePage_12;
-	public static String LaunchingPreferencePage_13;
-	public static String LaunchingPreferencePage_14;
-	public static String LaunchingPreferencePage_15;
-	public static String LaunchingPreferencePage_16;
-	public static String LaunchingPreferencePage_17;
-	public static String LaunchingPreferencePage_18;
-	public static String LaunchingPreferencePage_21;
-	public static String LaunchingPreferencePage_22;
-	public static String LaunchingPreferencePage_23;
-	public static String LaunchingPreferencePage_26;
-	public static String LaunchingPreferencePage_27;
-	public static String LaunchingPreferencePage_0;
-	public static String LaunchingPreferencePage_28;
-	public static String LaunchingPreferencePage_29;
-	public static String LaunchingPreferencePage_30;
-	public static String LaunchingPreferencePage_31;
-	public static String LaunchingPreferencePage_32;
-	public static String LaunchingPreferencePage_33;
-	public static String LaunchingPreferencePage_34;
-	public static String LaunchingPreferencePage_35;
-	public static String LaunchingPreferencePage_36;
-	
-	public static String PerspectivePreferencePage_0;
-	public static String PerspectivePreferencePage_1;
-	public static String PerspectivePreferencePage_2;
-	public static String PerspectivePreferencePage_3;
-	public static String PerspectivePreferencePage_4;
-	public static String PerspectivePreferencePage_5;
-	public static String PerspectivePreferencePage_6;
-	
-	public static String LaunchConfigurationsPreferencePage_1;
-	public static String LaunchConfigurationsPreferencePage_0;
-	
-	public static String ProcessPropertyPage_Command_Line__1;
-
-	public static String SimpleVariablePreferencePage_3;
-	public static String SimpleVariablePreferencePage_4;
-	public static String SimpleVariablePreferencePage_5;
-	public static String SimpleVariablePreferencePage_6;
-	public static String SimpleVariablePreferencePage_7;
-	public static String SimpleVariablePreferencePage_8;
-	public static String SimpleVariablePreferencePage_9;
-	public static String SimpleVariablePreferencePage_10;
-	public static String SimpleVariablePreferencePage_11;
-	public static String SimpleVariablePreferencePage_12;
-	public static String SimpleVariablePreferencePage_13;
-	public static String SimpleVariablePreferencePage_14;
-	public static String SimpleVariablePreferencePage_15;
-	public static String SimpleVariablePreferencePage_16;
-	public static String SimpleLaunchVariablePreferencePage_21;
-	public static String SimpleLaunchVariablePreferencePage_22;
-	public static String SimpleLaunchVariablePreferencePage_23;
-	public static String StringVariablePreferencePage_24;
-	public static String StringVariablePreferencePage_25;
-	public static String StringVariablePreferencePage_0;
-	public static String ViewManagementPreferencePage_0;
-	public static String ViewManagementPreferencePage_1;
-	public static String ViewManagementPreferencePage_2;
-	public static String ViewManagementPreferencePage_3;
-	public static String ViewManagementPreferencePage_4;
-	public static String ViewManagementPreferencePage_5;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, DebugPreferencesMessages.class);
-	}
-
-	public static String PerspectivePreferencePage_7;
-
-	public static String PerspectivePreferencePage_8;
-
-	public static String LaunchConfigurationsPreferencePage_2;
-
-	public static String LaunchConfigurationsPreferencePage_3;
-
-	public static String ProcessPropertyPage_0;
-
-	public static String ProcessPropertyPage_1;
-
-	public static String ProcessPropertyPage_2;
-
-	public static String ProcessPropertyPage_3;
-
-	public static String ProcessPropertyPage_4;
-
-	public static String ProcessPropertyPage_5;
-
-	public static String DebugPreferencePage_28;
-
-}
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 f05ef56..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.properties
+++ /dev/null
@@ -1,123 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-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=Buffer size must be between 1000 and 1000000 inclusive.
-ConsolePreferencePage_console_width=Character width must be between 80 and 1000 inclusive.
-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 unbuffered color:
-DebugPreferencePage_4=&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=Open the associated perspective when an application suspends
-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
-DebugPreferencePage_27=Memor&y buffered color:
-DebugPreferencePage_28=Changed value bac&kground color
-
-LaunchingPreferencePage_1=&Build (if required) before launching
-LaunchingPreferencePage_2=Save required 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_0=Select the launch configurations to &migrate:
-LaunchingPreferencePage_10=Remove term&inated launches when a new launch is created
-LaunchingPreferencePage_11=Open the 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_21=Continue launch if project contains errors
-LaunchingPreferencePage_22=Al&ways
-LaunchingPreferencePage_23=Pr&ompt
-LaunchingPreferencePage_26=Search for, select, and upgrade launch configurations to be compatible with current tooling.
-LaunchingPreferencePage_27=Mi&grate...
-LaunchingPreferencePage_28=Select Launch Configurations
-LaunchingPreferencePage_29=No Candidates
-LaunchingPreferencePage_30=None of the available launch configurations require migration.
-LaunchingPreferencePage_31=Migrating launch configurations
-LaunchingPreferencePage_32=Launch Configuration Filters
-LaunchingPreferencePage_33=&Filter configurations in closed projects
-LaunchingPreferencePage_34=Filter configurations in dele&ted or missing projects
-LaunchingPreferencePage_35=Migration
-LaunchingPreferencePage_36=General Options
-
-ProcessPropertyPage_Command_Line__1=Co&mmand Line:
-ProcessPropertyPage_0=Run-&at time:
-ProcessPropertyPage_1=&Path:
-ProcessPropertyPage_2=Process properties
-ProcessPropertyPage_3=No path information available
-ProcessPropertyPage_4=No time information available
-ProcessPropertyPage_5=No command line information provided
-
-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
-StringVariablePreferencePage_0=\ [contributed by {0}]
-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
-PerspectivePreferencePage_0=These settings control perspectives for running and debugging. A perspective can automatically open when launching or when an application suspends.
-PerspectivePreferencePage_1=Appli&cation types:
-PerspectivePreferencePage_2=Perspectives:
-PerspectivePreferencePage_3={0}:
-PerspectivePreferencePage_4=None
-PerspectivePreferencePage_5=These settings assign perspectives to each application type and launch mode. Select "None" to indicate that a perspective should not be opened.
-PerspectivePreferencePage_6=Perspectives
-PerspectivePreferencePage_7=&Debug
-PerspectivePreferencePage_8=De&bug
-LaunchConfigurationsPreferencePage_0=Filter checked launch configuration type&s:
-LaunchConfigurationsPreferencePage_1=Launch Configurations
-LaunchConfigurationsPreferencePage_2=Delete configurations when associated project is deleted
-LaunchConfigurationsPreferencePage_3=Apply window &working set(s)
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 17acbf0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     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$
-	
-	/**
-	 * @deprecated use IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR instead
-	 */
-	public static final String MEMORY_VIEW_UNBUFFERED_LINE_COLOR = IDebugUIConstants.PLUGIN_ID + ".MemoryViewLineColor"; //$NON-NLS-1$
-	
-	/**
-	 * @deprecated use IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR instead
-	 */
-	public static final String MEMORY_VIEW_BUFFERED_LINE_COLOR = IDebugUIConstants.PLUGIN_ID + ".MemoryViewBufferedLineColor"; //$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$
-	
-	/**
-	 * Font preference setting for the process console.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String CONSOLE_FONT= "org.eclipse.debug.ui.consoleFont"; //$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$
-	
-	/**
-	 * 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;
-
-	/**
-	 * 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;
-	
-	
-	/**
-	 * Row size preference for Memory View
-	 * 
-	 * @since 3.2
-	 */
-	public static final String PREF_ROW_SIZE = "org.eclipse.debug.ui.memory.rowSize"; //$NON-NLS-1$
-	
-	/**
-	 * Default row size for the Memory View
-	 * 
-	 * @since 3.2
-	 */
-	public static final int PREF_ROW_SIZE_DEFAULT = 16;
-	
-		
-	/**
-	 * Default padded string for renderings
-	 * 
-	 * @since 3.1
-	 */
-	public static final String PREF_PADDED_STR_DEFAULT = "??"; //$NON-NLS-1$
-	
-	/**
-	 * Default ASCII code page if ASCII code page preference is not set.
-	 * @since 3.1
-	 */
-	public static final String DEFAULT_ASCII_CP = "CP1252"; //$NON-NLS-1$
-	
-	
-	/**
-	 * Default EBCDIC code page if EBCDIC code page preference is not set.
-	 * @since 3.1
-	 */
-	public static final String DEFAULT_EBCDIC_CP = "CP037"; //$NON-NLS-1$
-	
-	/**
-	 * Preference to determine if table rendering should dynamically load
-	 * memory as the user scrolls
-	 * 
-	 * @since 3.1
-	 */
-	public static final String PREF_DYNAMIC_LOAD_MEM = "org.eclpise.debug.ui.memory.dynamicLoad"; //$NON-NLS-1$
-	
-	
-	/**
-	 * Size of buffer in a table rendering when dynamic loading mode is off.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String PREF_TABLE_RENDERING_PAGE_SIZE = "org.eclispe.debug.ui.memory.pageSize"; //$NON-NLS-1$
-	
-	/**
-	 * Default page size when dynamic loading mode is off.  This preference is stored
-	 * in number of lines.
-	 * 
-	 * @since 3.1
-	 */
-	public static final int DEFAULT_PAGE_SIZE = 20;
-	/**
-	 * Preference for defining behavior when resetting a memory monitor.
-	 * Possible values:
-	 * - RESET_AL - reset all renderings regardless if they are visible or not
-	 * - RESET_VISIBLE - reset visible renderings
-	 * 
-	 * @since 3.2
-	 */
-	public static final String PREF_RESET_MEMORY_BLOCK = IDebugUIConstants.PLUGIN_ID + ".reset_memory_block"; //$NON-NLS-1$
-	
-	/**
-	 * Constant to indicate that the memory view will reset all memory renderings when the reset
-	 * memory monitor action is invoked.
-	 * 
-	 * @since 3.2
-	 */
-	public static final String RESET_ALL = IDebugUIConstants.PLUGIN_ID + "resetMemoryBlock.all"; //$NON-NLS-1$
-	
-	
-	/**
-	 * Constant to indicate that the memory view will reset visible memory renderings when
-	 * the reset memory monitor action is invoked
-	 * 
-	 * @since 3.2
-	 */
-	public static final String RESET_VISIBLE = IDebugUIConstants.PLUGIN_ID + "resetMemoryBlock.visible"; //$NON-NLS-1$
-	
-	/**
-	 * Preference identifier for the row size in a table rendering.
-	 * This preference is expected to be saved by an </code>IPersistableDebugElement</code>.  
-	 * Memory Blocks can optionally provide and save this preference to customize
-	 * the initial format of a table rendering.
-	 * 
-	 * The value of this property is an Integer.  The value can be one of the
-	 * following values:  1, 2, 4, 8, 16.  This value must be greater than 
-	 * <code>PREF_COL_SIZE_BY_MODEL</code> and must also be divisible by <code>PREF_COL_SIZE_BY_MODEL</code>.
-	 * 
-	 * @since 3.2
-	 */
-	public static final String PREF_ROW_SIZE_BY_MODEL = "org.eclipse.debug.ui.AbstractTableRendering.rowSize"; //$NON-NLS-1$
-	/**
-	 * Preference identifier for the column size in a table rendering.
-	 * This preference is expected to be saved by an <code>IPersistableDebugElement</code>.  
-	 * Memory Blocks can optionally provide and save this preference to customize
-	 * the initial format of a table rendering.
-	 * 
-	 * The value of this property is an Integer.  The value can be one of the
-	 * following values:  1, 2, 4, 8, 16.  This value must be smaller than
-	 * <code>PREF_ROW_SIZE_BY_MODEL</code>.  <code>PREF_ROW_SIZE_BY_MODEL</code> must be divisible by <code>PREF_COL_SIZE_BY_MODEL</code>.
-	 * 
-	 * @since 3.2
-	 */
-	public static final String PREF_COL_SIZE_BY_MODEL = "org.eclipse.debug.ui.AbstractTableRendering.colSize"; //$NON-NLS-1$
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationTreeContentProviderNoChildren.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationTreeContentProviderNoChildren.java
deleted file mode 100644
index 901675d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationTreeContentProviderNoChildren.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.preferences;
-
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTreeContentProvider;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Overwritten class to provide the list of launch configuration types without including 
- * the actual launch configurations as children of the types.
- * 
- * @since 3.2
- */
-public class LaunchConfigurationTreeContentProviderNoChildren extends LaunchConfigurationTreeContentProvider {
-
-	/**
-	 * Default constructor
-	 * @param mode the mode to display or null to view all modes
-	 * @param shell the shell
-	 */
-	public LaunchConfigurationTreeContentProviderNoChildren(String mode, Shell shell) {
-		super(mode, shell);
-	}//end constructor
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object element) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		return new Object[] {};
-	}
-}//end class
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
deleted file mode 100644
index 868c934..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import java.util.ArrayList;
-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.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.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
-import org.eclipse.debug.internal.ui.launchConfigurations.MultiLaunchGroupFilter;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.ProgressMonitorPart;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * Provides the Launch Configuration preference page to the Run/Debug preferences
- * 
- * This page allows users to set filtering options as well as perform migration tasks.
- * This class is not intended to be subclasssed 
- * @since 3.2
- */
-public class LaunchConfigurationsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	/**
-	 * @since 3.2
-	 */
-	class LaunchConfigurationMigrationSelectionDialog extends ListSelectionDialog {
-		
-		private String SETTINGS_ID = IDebugUIConstants.PLUGIN_ID + ".MIGRATION_SELECTION_DIALOG"; //$NON-NLS-1$
-		
-		public LaunchConfigurationMigrationSelectionDialog(Shell parentShell, Object input, IStructuredContentProvider contentProvider, ILabelProvider labelProvider, String message) {
-			super(parentShell, input, contentProvider, labelProvider, message);
-			setShellStyle(getShellStyle() | SWT.RESIZE);
-		}
-
-		protected IDialogSettings getDialogBoundsSettings() {
-			IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-			IDialogSettings section = settings.getSection(SETTINGS_ID);
-			if (section == null) {
-				section = settings.addNewSection(SETTINGS_ID);
-			} 
-			return section;
-		}
-	}
-	
-	/**
-	 * Content provider for the launch configuration type table
-	 */
-	class TableContentProvider implements IStructuredContentProvider {
-
-		public Object[] getElements(Object inputElement) {
-			return getLaunchConfigurationTypes();
-		}
-
-		public void dispose() {}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-	}
-	
-	/**
-	 * describes the debug launch group
-	 */
-	private static final String DEBUG_LAUNCH_GROUP = "org.eclipse.debug.ui.launchGroup.debug"; //$NON-NLS-1$
-	
-	/**
-	 * describes the external tools launch group
-	 */
-	private static final String EXT_BUILDER_GROUP = "org.eclipse.ui.externaltools.launchGroup"; //$NON-NLS-1$
-	
-	/**
-	 * to monitor the progress of the migration process
-	 */
-	private ProgressMonitorPart fMonitor;
-	
-	/**
-	 * the migrate now button
-	 */
-	private Button fMigrateNow;
-	
-	/**
-	 * a list of the field editors
-	 */
-	private List fFieldEditors;
-	
-	/**
-	 * The table for the launch configuration types
-	 */
-	private Table fTable;
-	
-	/**
-	 * Constructor
-	 */
-	public LaunchConfigurationsPreferencePage() {
-		super();
-		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
-		setTitle(DebugPreferencesMessages.LaunchConfigurationsPreferencePage_1);
-	}
-	
-	/**
-	 * creates a composite to place tab controls on
-	 * @param parent the parent to create to composite for
-	 * @return a composite for setting as a tabitem control
-	 */
-	private Composite createComposite(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		comp.setLayout(new GridLayout());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		comp.setLayoutData(gd);
-		Dialog.applyDialogFont(comp);
-		return comp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_PREFERENCE_PAGE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		fFieldEditors = new ArrayList();
-		Composite comp = createComposite(parent);
-		//filtering options
-		Group group = createGroupComposite(comp, DebugPreferencesMessages.LaunchingPreferencePage_32);
-		Composite spacer = createComposite(group);
-		FieldEditor edit = new BooleanFieldEditor(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED, DebugPreferencesMessages.LaunchingPreferencePage_33, SWT.NONE, spacer);
-		fFieldEditors.add(edit);
-		edit = new BooleanFieldEditor(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED, DebugPreferencesMessages.LaunchingPreferencePage_34, SWT.NONE, spacer);
-		fFieldEditors.add(edit);
-		edit = new BooleanFieldEditor(IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS, DebugPreferencesMessages.LaunchConfigurationsPreferencePage_3, SWT.NONE, spacer);
-		fFieldEditors.add(edit);
-		edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, DebugPreferencesMessages.LaunchConfigurationsPreferencePage_2, 3,  
-				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_3, MessageDialogWithToggle.ALWAYS}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_4, MessageDialogWithToggle.NEVER},
-				 {DebugPreferencesMessages.LaunchingPreferencePage_5, MessageDialogWithToggle.PROMPT}}, 
-				 comp,
-				 true);
-		fFieldEditors.add(edit);
-		
-		//add table options
-		createTypeFiltering(group);
-		
-		//migration
-		group = createGroupComposite(comp, DebugPreferencesMessages.LaunchingPreferencePage_35);
-		Label label = new Label(group, SWT.LEFT | SWT.WRAP);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 350;
-		label.setLayoutData(gd);
-		label.setText(DebugPreferencesMessages.LaunchingPreferencePage_26);
-		label.setFont(parent.getFont());
-		fMigrateNow = SWTUtil.createPushButton(group, DebugPreferencesMessages.LaunchingPreferencePage_27, null);
-		gd = new GridData(SWT.BEGINNING);
-		gd.widthHint = 100;
-		fMigrateNow.setLayoutData(gd);
-		fMigrateNow.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {}
-			public void widgetSelected(SelectionEvent e) {
-				handleMigrateNowSelected();
-			}			
-		});
-	
-		//init field editors
-		initFieldEditors();
-		fTable.setEnabled(getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES));
-		return comp;
-	}
-	
-	/**
-	 * @param parent the parent to add this composite to
-	 * @return the new composite with the type selection table in it
-	 */
-	private Composite createTypeFiltering(Composite parent) {
-		Composite comp = createComposite(parent);
-		BooleanFieldEditor2 editor = new BooleanFieldEditor2(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES, DebugPreferencesMessages.LaunchConfigurationsPreferencePage_0, SWT.NONE, comp);
-		editor.setPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				boolean newvalue = false;
-				if(event.getNewValue() instanceof Boolean) {
-					newvalue = ((Boolean)event.getNewValue()).booleanValue();
-				}
-				else {
-					newvalue = Boolean.valueOf(event.getNewValue().toString()).booleanValue();
-				}
-				if(newvalue) {
-					fTable.setEnabled(true);
-				}
-				else {
-					fTable.setEnabled(false);
-				}
-			}	
-		});
-		fFieldEditors.add(editor);
-		fTable = new Table(comp, SWT.CHECK | SWT.BORDER);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = 155;
-		fTable.setLayoutData(gd);
-		CheckboxTableViewer tviewer = new CheckboxTableViewer(fTable);
-		tviewer.setLabelProvider(DebugUITools.newDebugModelPresentation());
-		tviewer.setContentProvider(new TableContentProvider());
-		tviewer.setSorter(new WorkbenchViewerSorter());
-		LaunchGroupExtension[] groups = new LaunchGroupExtension[] {
-				DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(DEBUG_LAUNCH_GROUP),
-				DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(EXT_BUILDER_GROUP)};
-		tviewer.addFilter(new MultiLaunchGroupFilter(groups));
-		tviewer.setInput(getLaunchConfigurationTypes());
-		fTable.setFont(parent.getFont());
-		return comp;
-	}
-	
-	/**
-	 * Creates a standard grouping for this pref page
-	 * @param parent the parent to add the group to
-	 * @param title text the test for the group
-	 * @return the new group
-	 * @since 3.2
-	 */
-	private Group createGroupComposite(Composite parent, String text) {
-		Group group = new Group(parent, SWT.NONE);
-		group.setLayout(new GridLayout());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalIndent = 0;
-		gd.verticalIndent = 0;
-		group.setLayoutData(gd);
-		group.setText(text);
-		group.setFont(parent.getFont());
-		return group;
-	}
-	
-	/**
-	 * returns the launch configuration types
-	 * @return the launch configuration types
-	 */
-	private ILaunchConfigurationType[] getLaunchConfigurationTypes() {
-		return DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
-	}
-	
-	/**
-	 * handles the Migrate button being clicked
-	 *
-	 * @since 3.2
-	 */
-	private void handleMigrateNowSelected() {
-		try {
-			ILaunchManager lmanager = DebugPlugin.getDefault().getLaunchManager();
-			ILaunchConfiguration[] configurations = lmanager.getMigrationCandidates();
-			if(configurations.length == 0) {
-				MessageDialog.openInformation(getShell(), DebugPreferencesMessages.LaunchingPreferencePage_29, DebugPreferencesMessages.LaunchingPreferencePage_30);
-				return;
-			}
-			LaunchConfigurationMigrationSelectionDialog listd = new LaunchConfigurationMigrationSelectionDialog(getShell(), 
-																new AdaptableList(configurations), 
-																new WorkbenchContentProvider(),	
-																DebugUITools.newDebugModelPresentation(), 
-																DebugPreferencesMessages.LaunchingPreferencePage_0);
-			listd.setTitle(DebugPreferencesMessages.LaunchingPreferencePage_28);
-			listd.setInitialSelections(configurations);
-			if(listd.open() == IDialogConstants.OK_ID) {
-				fMonitor = new ProgressMonitorPart(fMigrateNow.getParent(), new GridLayout());
-				Object[] objs = listd.getResult();
-				fMonitor.beginTask(DebugPreferencesMessages.LaunchingPreferencePage_31, objs.length);
-				for(int i = 0; i < objs.length; i++) {
-					if(objs[i] instanceof ILaunchConfiguration) {
-						((ILaunchConfiguration)objs[i]).migrate();
-					}
-					fMonitor.worked(i);
-				}
-				fMonitor.done();
-				fMonitor.dispose();
-			}
-		}
-		catch (CoreException e) {DebugUIPlugin.log(e);}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {}
-
-	/**
-	 * Initializes the field editors to their values
-	 * @since 3.2
-	 */
-	private void initFieldEditors() {
-		FieldEditor editor;
-		for(int i = 0; i < fFieldEditors.size(); i++) {
-			editor = (FieldEditor)fFieldEditors.get(i);
-			editor.setPreferenceStore(getPreferenceStore());
-			editor.load();
-		}
-		//restore the tables' checked state
-		String[] types = getPreferenceStore().getString(IInternalDebugUIConstants.PREF_FILTER_TYPE_LIST).split("\\,"); //$NON-NLS-1$
-		TableItem[] items = fTable.getItems();
-		ILaunchConfigurationType type;
-		for(int i = 0; i < types.length; i++) {
-			for(int j = 0; j < items.length; j++) {
-				type = (ILaunchConfigurationType)items[j].getData();
-				if(type.getIdentifier().equals(types[i])) {
-					items[j].setChecked(true);
-				}
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		FieldEditor editor = null;
-		for(int i = 0; i < fFieldEditors.size(); i++) {
-			editor = (FieldEditor)fFieldEditors.get(i);
-			editor.loadDefault();
-			if(editor instanceof BooleanFieldEditor2) {
-				fTable.setEnabled(((BooleanFieldEditor2)editor).getBooleanValue());
-			}
-		}
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		//save field editors
-		for(int i = 0; i < fFieldEditors.size(); i++) {
-			((FieldEditor)fFieldEditors.get(i)).store();
-		}
-		//save table
-		String types = ""; //$NON-NLS-1$
-		TableItem[] items = fTable.getItems();
-		ILaunchConfigurationType type;
-		for(int i = 0; i < items.length; i++) {
-			if(items[i].getChecked()) {
-				type = (ILaunchConfigurationType)items[i].getData();
-				types += type.getIdentifier()+","; //$NON-NLS-1$
-			}
-		}
-		getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_FILTER_TYPE_LIST, types);
-		return super.performOk();
-	}
-}
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 7770a1d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchingPreferencePage.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-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.FieldEditor;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.PreferencePage;
-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.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A preference page for configuring launching preferences.
- */
-public class LaunchingPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	
-	/**
-	 * a list of the field editors
-	 * @since 3.2
-	 */
-	private List fFieldEditors;
-	
-	/**
-	 * The default contsructor
-	 */
-	public LaunchingPreferencePage() {
-		super();
-		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.LAUNCHING_PREFERENCE_PAGE);
-	}
-
-	/**
-	 * creates a composite to place tab controls on
-	 * @param parent the parent to create to composite for
-	 * @return a composite for settgin as a tabitem control
-	 * @since 3.2
-	 */
-	private Composite createComposite(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		comp.setLayout(new GridLayout());
-		comp.setFont(parent.getFont());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		comp.setLayoutData(gd);
-		return comp;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		fFieldEditors = new ArrayList();
-		Composite comp = createComposite(parent);
-		//save dirty editors
-		FieldEditor edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH, DebugPreferencesMessages.LaunchingPreferencePage_2, 3,  
-				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_3, MessageDialogWithToggle.ALWAYS}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_4, MessageDialogWithToggle.NEVER},
-				 {DebugPreferencesMessages.LaunchingPreferencePage_5, MessageDialogWithToggle.PROMPT}}, 
-				 comp,
-				 true);	
-		fFieldEditors.add(edit);
-		
-		//wait for build
-		edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD, 
-				 DebugPreferencesMessages.LaunchingPreferencePage_6, 3,
-				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_7, MessageDialogWithToggle.ALWAYS}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_8, MessageDialogWithToggle.NEVER}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_9, MessageDialogWithToggle.PROMPT}}, 
-				 comp,
-				 true);
-		fFieldEditors.add(edit);
-		
-		//relaunch in debug mode
-		edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE,
-				 DebugPreferencesMessages.LaunchingPreferencePage_15, 3, 
-				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_16, MessageDialogWithToggle.ALWAYS}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_17, MessageDialogWithToggle.NEVER}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_18, MessageDialogWithToggle.PROMPT}}, 
-				 comp,
-				 true);
-		fFieldEditors.add(edit);
-		
-		//continue with compile errors
-		edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR,
-				 DebugPreferencesMessages.LaunchingPreferencePage_21, 2, 
-				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_22, MessageDialogWithToggle.ALWAYS},  
-				 {DebugPreferencesMessages.LaunchingPreferencePage_23, MessageDialogWithToggle.PROMPT}},  
-				 comp,
-				 true);
-		fFieldEditors.add(edit);
-		
-		//filtering options
-		Group group = createGroupComposite(comp, DebugPreferencesMessages.LaunchingPreferencePage_36);
-		Composite spacer = createComposite(group);
-		edit = new BooleanFieldEditor(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH, DebugPreferencesMessages.LaunchingPreferencePage_1, SWT.NONE, spacer);
-		edit.fillIntoGrid(spacer, 2);
-		fFieldEditors.add(edit);
-		edit = new BooleanFieldEditor(IDebugUIConstants.PREF_AUTO_REMOVE_OLD_LAUNCHES, DebugPreferencesMessages.LaunchingPreferencePage_10, SWT.NONE, spacer);
-		edit.fillIntoGrid(spacer, 2);
-		fFieldEditors.add(edit);
-		
-		//history list size pref
-		final IntegerFieldEditor editor = new IntegerFieldEditor(IDebugUIConstants.PREF_MAX_HISTORY_SIZE, DebugPreferencesMessages.DebugPreferencePage_10, spacer);
-		editor.fillIntoGrid(spacer, 2);
-		fFieldEditors.add(editor);
-		int historyMax = IDebugPreferenceConstants.MAX_LAUNCH_HISTORY_SIZE;
-		editor.setTextLimit(Integer.toString(historyMax).length());
-		editor.setErrorMessage(MessageFormat.format(DebugPreferencesMessages.DebugPreferencePage_11, new Object[] { new Integer(1), new Integer(historyMax)})); 
-		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());
-			}
-		});
-		
-		//init the field editors
-		initFieldEditors();
-		return comp;
-	}
-
-	/**
-	 * Creates a standard grouping for this pref page
-	 * @param parent the parent to add the group to
-	 * @param title text the test for the group
-	 * @return the new group
-	 * @since 3.2
-	 */
-	private Group createGroupComposite(Composite parent, String text) {
-		Group group = new Group(parent, SWT.NONE);
-		group.setLayout(new GridLayout());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(gd);
-		group.setText(text);
-		group.setFont(parent.getFont());
-		return group;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {}
-	
-	/**
-	 * Initializes the field editors to their values
-	 * @since 3.2
-	 */
-	private void initFieldEditors() {
-		FieldEditor editor;
-		for(int i = 0; i < fFieldEditors.size(); i++) {
-			editor = (FieldEditor)fFieldEditors.get(i);
-			editor.setPreferenceStore(getPreferenceStore());
-			editor.load();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		for(int i = 0; i < fFieldEditors.size(); i++) {
-			((FieldEditor)fFieldEditors.get(i)).loadDefault();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		for(int i = 0; i < fFieldEditors.size(); i++) {
-			((FieldEditor)fFieldEditors.get(i)).store();
-		}
-		return super.performOk();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/PerspectivePreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/PerspectivePreferencePage.java
deleted file mode 100644
index 17e9b52..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/PerspectivePreferencePage.java
+++ /dev/null
@@ -1,561 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.preferences;
-
-import java.io.IOException;
-import java.io.StringReader;
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-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.LaunchGroupFilter;
-import org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-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.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.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-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;
-import org.eclipse.ui.activities.ActivityManagerEvent;
-import org.eclipse.ui.activities.IActivityManagerListener;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Provides one place to set perspective preferences
- * 
- * @since 3.2
- */
-public class PerspectivePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IDebugPreferenceConstants, IActivityManagerListener {
-
-	// constants
-	private static final String DEBUG_LAUNCH_GROUP = "org.eclipse.debug.ui.launchGroup.debug"; //$NON-NLS-1$
-
-	private static final String LAST_SELECTED_CONFIGTYPE = "last_selected"; //$NON-NLS-1$
-
-	private static final int LABEL_WIDTH_HINT = 450;
-
-	/**
-	 * A composite to add and dispose fComboComposites from
-	 */
-	private Composite fPerspectiveComp = null;
-	
-	/**
-	 * Launch configuration type to mode mapping. allows us to store all the
-	 * changed information until ok, apply or cancel is pressed Formed as
-	 * follows: Map<typeId,HashMap<modeId, perspective>>
-	 */
-	private HashMap fTypeInformationMapping = null;
-
-	/**
-	 * The list of perspective labels
-	 */
-	private String[] fPerspectiveLabels = null;
-
-	/**
-	 * A mapping of perspective labels to ids of the form Map<label, id>
-	 */
-	private HashMap fPerspectiveIds = null;
-
-	/**
-	 * the composite to add the combo boxes and their labels to
-	 */
-	private Composite fComboPlaceHolder = null;
-
-	/**
-	 * the viewer for the list of launch configurations
-	 */
-	private TreeViewer fViewer = null;
-
-	/**
-	 * The tree for the viewer
-	 */
-	private Tree fTree = null;
-
-	/**
-	 * Manages a launch configuration
-	 */
-	private ILaunchManager fLManager = DebugPlugin.getDefault().getLaunchManager();
-
-	/**
-	 * The global manager for all launch configurations
-	 */
-	private LaunchConfigurationManager fLCM = DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-
-	/**
-	 * manages perspectives
-	 */
-	private PerspectiveManager fPmanager = DebugUIPlugin.getDefault().getPerspectiveManager();
-
-	/**
-	 * The field for switching perspective on run/debug
-	 */
-	private RadioGroupFieldEditor perspec = null;
-
-	/**
-	 * The field for switching when suspends
-	 */
-	private RadioGroupFieldEditor suspend = null;
-
-	/**
-	 * The currently selected ILaunchConfiguration from the tree
-	 */
-	private ILaunchConfigurationType fCurrentType = null;
-
-	/**
-	 * listens for widgets to change their selection. In this case we use it
-	 * soley for setting changes in any of the combo boxes for perspective
-	 * types.
-	 */
-	private SelectionAdapter fSelectionAdapter = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Object source = e.getSource();
-			if (source instanceof Combo) {
-				Combo combo = (Combo) source;
-				HashMap map = (HashMap) fTypeInformationMapping.get(fCurrentType);
-				if (map == null) {
-					map = new HashMap();
-				}// end if
-				map.put(combo.getData(), fPerspectiveIds.get(combo.getText()));
-				fTypeInformationMapping.put(fCurrentType, map);
-			}// end if
-		}// end widgetselected
-	};
-
-	/**
-	 * Default constructor
-	 */
-	public PerspectivePreferencePage() {
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-		setPreferenceStore(store);
-		setTitle(DebugPreferencesMessages.PerspectivePreferencePage_6);
-		setDescription(DebugPreferencesMessages.PerspectivePreferencePage_0);
-	}// end constructor
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		IPreferenceStore store = getPreferenceStore();
-		perspec.store();
-		suspend.store();
-		for (Iterator iter = fTypeInformationMapping.keySet().iterator(); iter.hasNext();) {
-			ILaunchConfigurationType typekey = (ILaunchConfigurationType)iter.next();
-			HashMap map = (HashMap) fTypeInformationMapping.get(typekey);
-			for (Iterator iter2 = map.keySet().iterator(); iter2.hasNext();) {
-				String modekey = (String) iter2.next();
-				String perspective = (String) map.get(modekey);
-				if (perspective != null) {
-					if (perspective.equals(DebugPreferencesMessages.PerspectivePreferencePage_4)) {
-						perspective = IDebugUIConstants.PERSPECTIVE_NONE;
-					}// end if
-				}// end if
-				else {
-					perspective = IDebugUIConstants.PERSPECTIVE_NONE;
-				}//end else
-				fPmanager.setLaunchPerspective(typekey, modekey, perspective);
-			}// end for
-		}// end for
-		if(fCurrentType != null) {
-			store.setValue(LAST_SELECTED_CONFIGTYPE, fCurrentType.getName());
-		}
-		DebugUIPlugin.getDefault().savePluginPreferences();
-		return super.performOk();
-	}// end performOK
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {}
-
-	/**
-	 * Restore the state from the preference store
-	 */
-	private void restoreState() {
-		String xml = getPreferenceStore().getString(IInternalDebugUIConstants.PREF_LAUNCH_PERSPECTIVES);
-//	bug 111485	in case a new plugin offers a launch type between invocations, do this prior to setting them to saved states
-		setDefaultPerspectives();
-		if (xml != null && xml.length() > 0) {
-			try {
-				Element root = null;
-				DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-				parser.setErrorHandler(new DefaultHandler());
-				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(PerspectiveManager.ELEMENT_PERSPECTIVE)) {
-							String type = element.getAttribute(PerspectiveManager.ATTR_TYPE_ID);
-							ILaunchConfigurationType typeobj = fLManager.getLaunchConfigurationType(type);
-							String mode = element.getAttribute(PerspectiveManager.ATTR_MODE_ID);
-							if(typeobj != null) {
-								String perspective = fPmanager.getLaunchPerspective(typeobj, mode);
-								HashMap map = (HashMap) fTypeInformationMapping.get(typeobj);
-								if(map == null) {
-									map = new HashMap();
-								}//end if
-								map.put(mode, (perspective != null ? perspective : IDebugUIConstants.PERSPECTIVE_NONE));
-								fTypeInformationMapping.put(typeobj, map);
-							}//end if
-						}// end if
-					}// end if
-				}// end for
-			}// end try
-			catch (ParserConfigurationException e) {DebugUIPlugin.log(e);} 
-			catch (SAXException e) {DebugUIPlugin.log(e);}
-			catch (IOException e) {DebugUIPlugin.log(e);}
-		}// end if
-		perspec.load();
-		suspend.load();
-		TreeItem item = findLastSelected(getPreferenceStore().getString(LAST_SELECTED_CONFIGTYPE));
-		if (item != null) {
-			fTree.setSelection(new TreeItem[] { item });
-		}// end if
-		else {
-			if(fTree.getItemCount() > 0) {
-				fTree.setSelection(new TreeItem[] { fTree.getItem(0) });
-			}
-		}// end else
-		fCurrentType = (ILaunchConfigurationType) ((IStructuredSelection) fViewer.getSelection()).getFirstElement();
-		buildComboBoxes(fCurrentType);
-	}// restoreState
-
-	/**
-	 * Sets the default perspectives for the modes of an ILaunchConfiguration
-	 */
-	private void setDefaultPerspectives() {
-		ILaunchConfigurationType[] types = fLManager.getLaunchConfigurationTypes();
-		ArrayList modes = null;
-		HashMap map = null;
-		for (int i = 0; i < types.length; i++) {
-			modes = new ArrayList(types[i].getSupportedModes());
-			map = new HashMap();
-			for (int j = 0; j < modes.size(); j++) {
-				String mode = (String) modes.get(j);
-				String persp = fPmanager.getDefaultLaunchPerspective(types[i], mode);
-				map.put(mode, (persp != null ? persp : IDebugUIConstants.PERSPECTIVE_NONE));
-			}// end for
-			fTypeInformationMapping.put(types[i], map);
-		}// end for
-	}//setDefaultPerspective
-
-	/**
-	 * Finds the ILaunchConfiguration within the tree based on its text
-	 * 
-	 * @param last
-	 *            the name of the last Launch Configuration selected
-	 * @return the treeitem if found or null
-	 */
-	private TreeItem findLastSelected(String last) {
-		TreeItem[] selection = fTree.getItems();
-		for (int i = 0; i < selection.length; i++) {
-			if (selection[i].getText().equals(last)) {
-				return selection[i];
-			}// end if
-		}// end for
-		return null;
-	}// end findLastSelected
-
-	/**
-	 * Builds all possible combo boxes per supported modes
-	 */
-	private void buildComboBoxes(ILaunchConfigurationType type) {
-		HashMap launchmodes = (HashMap) fTypeInformationMapping.get(type);
-		if (fComboPlaceHolder != null) {
-			fComboPlaceHolder.dispose();
-		}// end if
-		Font font = fPerspectiveComp.getFont();
-		fComboPlaceHolder = new Composite(fPerspectiveComp, SWT.NONE);
-		fComboPlaceHolder.setLayout(new GridLayout(2, false));
-		fComboPlaceHolder.setLayoutData(new GridData(GridData.FILL_BOTH));
-		fComboPlaceHolder.setFont(font);
-		Label label = new Label(fComboPlaceHolder, SWT.NONE);
-		label.setText(DebugPreferencesMessages.PerspectivePreferencePage_2);
-		label.setFont(font);
-		GridData gd = null;
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		label.setLayoutData(gd);
-		if(launchmodes != null) {
-			for(Iterator iter = launchmodes.keySet().iterator(); iter.hasNext();) {
-				String modekey = (String)iter.next();
-				String persp = (String)launchmodes.get(modekey);
-	       // build label
-				label = new Label(fComboPlaceHolder, SWT.NONE);
-				label.setFont(font);
-				gd = new GridData(GridData.BEGINNING);
-				label.setLayoutData(gd);
-				ILaunchMode mode = fLManager.getLaunchMode(modekey);
-				String clabel = mode.getLabel();
-				//resolve conflict with Default and Debug mneumonics bug 122882
-				if(clabel.equals(DebugPreferencesMessages.PerspectivePreferencePage_7)) {
-					clabel = DebugPreferencesMessages.PerspectivePreferencePage_8;
-				}
-				label.setText(MessageFormat.format(DebugPreferencesMessages.PerspectivePreferencePage_3, new String[] { clabel }));
-			// build combobox
-				Combo combo = new Combo(fComboPlaceHolder, SWT.READ_ONLY);
-				combo.setFont(font);
-				combo.setItems(fPerspectiveLabels);
-				combo.setData(modekey);
-				gd = new GridData(GridData.BEGINNING);
-				combo.setLayoutData(gd);
-				if(persp.equals(IDebugUIConstants.PERSPECTIVE_NONE)) {
-					persp = DebugPreferencesMessages.PerspectivePreferencePage_4;
-				}//end if
-				else {
-					IPerspectiveDescriptor desc = PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(persp);
-					persp = (desc != null ? desc.getLabel() : DebugPreferencesMessages.PerspectivePreferencePage_4);
-				}//end else
-				combo.setText(persp);
-				combo.addSelectionListener(fSelectionAdapter);
-			}//end for
-		}
-		fPerspectiveComp.layout();
-	}// buildComboBoxes
-
-	/**
-	 * Handles the change in selection from the launch configuration listing
-	 * 
-	 * @param event
-	 *            the selection changed event
-	 */
-	private void handleLaunchConfigurationSelectionChanged(SelectionChangedEvent event) {
-		// handle prompting and saving before moving on.
-		ILaunchConfigurationType type = (ILaunchConfigurationType) ((IStructuredSelection) event.getSelection()).getFirstElement();
-		if(type != null) {
-			if(!type.equals(fCurrentType)) {
-				//if they are the same do nothing
-				fCurrentType = type;
-				buildComboBoxes(fCurrentType);
-			}
-		}
-	}// end handleLaunchConfigurationSelectionChanged
-
-	/**
-	 * Gets the perspective labels
-	 * 
-	 * @return the (label, id) mappings of perspectives
-	 */
-	private void getPerspectiveLabels() {
-		IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
-		IPerspectiveDescriptor[] descriptors = filterIds(registry.getPerspectives());
-		fPerspectiveLabels = new String[descriptors.length + 1];
-		fPerspectiveLabels[0] = DebugPreferencesMessages.PerspectivePreferencePage_4;
-		fPerspectiveIds = new HashMap();
-		for (int i = 0; i < descriptors.length; i++) {
-			fPerspectiveLabels[i + 1] = descriptors[i].getLabel();
-			fPerspectiveIds.put(descriptors[i].getLabel(), descriptors[i].getId());
-		}// end for
-	}// end getPerspectiveLabels
-
-	/**
-	 * filters the list of labels based on capabilities
-	 * @param ids ther ids we want to filter
-	 * @return the filtered list of ids based on capabilities
-	 */
-	private IPerspectiveDescriptor[] filterIds(IPerspectiveDescriptor[] ids) {
-		ArrayList list = new ArrayList();
-		for(int i = 0; i < ids.length; i++) {
-			if(!WorkbenchActivityHelper.filterItem(ids[i])) {
-				list.add(ids[i]);
-			}
-		}
-		return (IPerspectiveDescriptor[])list.toArray(new IPerspectiveDescriptor[list.size()]);
-	}
-	
-	/**
-	 * Simple method to create a spacer in the page
-	 * 
-	 * @param composite
-	 *            the composite to add the spacer to
-	 * @param columnSpan
-	 *            the amount of space for the spacer
-	 */
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}// end createSpacer
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		perspec.loadDefault();
-		suspend.loadDefault();
-		setDefaultPerspectives();
-		buildComboBoxes(fCurrentType);
-		super.performDefaults();
-	}// end performdefaults
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.PERSPECTIVE_PREFERENCE_PAGE);
-	}
-
-	/*
-	 * (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(1, false));
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        
-	// create the global radio buttons
-		createSpacer(composite, 1);
-		perspec = new RadioGroupFieldEditor(
-				IInternalDebugUIConstants.PREF_SWITCH_TO_PERSPECTIVE,
-				DebugPreferencesMessages.LaunchingPreferencePage_11, 3,
-				new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_12, MessageDialogWithToggle.ALWAYS },
-							{ DebugPreferencesMessages.LaunchingPreferencePage_13, MessageDialogWithToggle.NEVER },
-							{ DebugPreferencesMessages.LaunchingPreferencePage_14, MessageDialogWithToggle.PROMPT } }, 
-							composite,
-							true);
-		perspec.setPreferenceName(IInternalDebugUIConstants.PREF_SWITCH_TO_PERSPECTIVE);
-		perspec.setPreferenceStore(getPreferenceStore());
-		suspend = new RadioGroupFieldEditor(
-				IInternalDebugUIConstants.PREF_SWITCH_PERSPECTIVE_ON_SUSPEND,
-				DebugPreferencesMessages.DebugPreferencePage_21, 3,
-				new String[][] {{ DebugPreferencesMessages.DebugPreferencePage_22, MessageDialogWithToggle.ALWAYS },
-								{ DebugPreferencesMessages.DebugPreferencePage_23, MessageDialogWithToggle.NEVER },
-								{ DebugPreferencesMessages.DebugPreferencePage_24, MessageDialogWithToggle.PROMPT } }, 
-								composite,
-								true);
-		suspend.setPreferenceName(IInternalDebugUIConstants.PREF_SWITCH_PERSPECTIVE_ON_SUSPEND);
-		suspend.setPreferenceStore(getPreferenceStore());
-		
-		createSpacer(composite, 1);
-		
-		Label lbl = new Label(composite, SWT.LEFT + SWT.WRAP);
-		lbl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		((GridData)lbl.getLayoutData()).widthHint = LABEL_WIDTH_HINT;
-		lbl.setText(MessageFormat.format(DebugPreferencesMessages.PerspectivePreferencePage_5, null));
-		
-		Composite comp = new Composite(composite, SWT.FILL);
-		comp.setLayout(new GridLayout(2, false));
-		comp.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Composite treeComp = new Composite(comp, SWT.NONE);
-		treeComp.setLayout(new GridLayout(1, true));
-		treeComp.setLayoutData(new GridData(GridData.FILL_BOTH));
-		Label label = new Label(treeComp, SWT.NONE);
-		label.setText(DebugPreferencesMessages.PerspectivePreferencePage_1);
-		
-		fTree = new Tree(treeComp, SWT.H_SCROLL + SWT.V_SCROLL + SWT.SINGLE + SWT.BORDER);
-		fTree.setLayoutData(new GridData(GridData.FILL_BOTH));
-		fViewer = new TreeViewer(fTree);
-		fViewer.setLabelProvider(DebugUITools.newDebugModelPresentation());
-		fViewer.setSorter(new WorkbenchViewerSorter());
-		fViewer.setContentProvider(new LaunchConfigurationTreeContentProviderNoChildren(null, parent.getShell()));
-		fViewer.addFilter(new LaunchGroupFilter(fLCM.getLaunchGroup(DEBUG_LAUNCH_GROUP)));
-		fViewer.setInput(fLManager.getLaunchConfigurationTypes());
-		fViewer.expandAll();
-		fViewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
-					public void selectionChanged(SelectionChangedEvent event) {
-						handleLaunchConfigurationSelectionChanged(event);
-					}//end selectionChanged
-				});
-		fPerspectiveComp = new Composite(comp, SWT.NONE);
-		fPerspectiveComp.setLayout(new GridLayout(1, true));
-		fPerspectiveComp.setLayoutData(new GridData(GridData.FILL_BOTH));
-		fTypeInformationMapping = new HashMap();
-		// get the available labels
-		getPerspectiveLabels();
-		// restore from preference store
-		restoreState();
-        
-		PlatformUI.getWorkbench().getActivitySupport().getActivityManager().addActivityManagerListener(this);
-		
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}// end createControl
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.activities.IActivityManagerListener#activityManagerChanged(org.eclipse.ui.activities.ActivityManagerEvent)
-	 */
-	public void activityManagerChanged(ActivityManagerEvent activityManagerEvent) {
-		if(!fTree.isDisposed()) {
-			fViewer.refresh();
-			getPerspectiveLabels();
-			restoreState();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.DialogPage#dispose()
-	 */
-	public void dispose() {
-		PlatformUI.getWorkbench().getActivitySupport().getActivityManager().removeActivityManagerListener(this);
-		super.dispose();
-	}
-
-}// end class
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 07dcc18..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ProcessPropertyPage.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.debug.core.model.IDebugElement;
-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.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-public class ProcessPropertyPage extends PropertyPage {
-
-	/**
-	 * Constructor for ProcessPropertyPage
-	 */
-	public ProcessPropertyPage() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite ancestor) {
-		Font font = ancestor.getFont();
-		noDefaultAndApplyButton();
-		Composite parent = new Composite(ancestor, SWT.NULL);
-		GridLayout layout = new GridLayout(1, false);
-		parent.setLayout(layout);
-		
-		IProcess proc = getProcess();
-		
-	//create the process time section
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		Label lbl = new Label(parent, SWT.NONE);
-		lbl.setText(DebugPreferencesMessages.ProcessPropertyPage_0);
-		lbl.setLayoutData(gd);
-		lbl.setFont(font);
-		
-		Text text = new Text(parent, SWT.READ_ONLY);
-		text.setText(getTimeText(proc));
-		text.setFont(font);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalIndent = 10;
-		text.setLayoutData(gd);
-		createVerticalSpacer(parent, 2);
-		
-	//create the path name section
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		lbl = new Label(parent, SWT.NONE);
-		lbl.setText(DebugPreferencesMessages.ProcessPropertyPage_1);
-		lbl.setFont(font);
-		lbl.setLayoutData(gd);
-		
-		text = new Text(parent, SWT.WRAP | SWT.READ_ONLY);
-		text.setText(getPathText(proc));
-		text.setFont(font);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalIndent = 10;
-		text.setLayoutData(gd);
-		createVerticalSpacer(parent, 2);
-		
-	//create commandline section
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		lbl = new Label(parent, SWT.NULL);
-		lbl.setText(DebugPreferencesMessages.ProcessPropertyPage_Command_Line__1); 
-		lbl.setLayoutData(gd);
-		lbl.setFont(font);
-		
-		text = new Text(parent, SWT.WRAP | SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.widthHint= convertWidthInCharsToPixels(80);
-		gd.heightHint= convertHeightInCharsToPixels(15);
-		gd.horizontalIndent = 10;
-		text.setLayoutData(gd);
-		text.setFont(font);
-		String commandLineText = getCommandLineText(proc);
-		if (commandLineText != null) {
-			text.setText(commandLineText);
-		}
-		
-		setTitle(DebugPreferencesMessages.ProcessPropertyPage_2);
-		return parent;
-	}
-	
-	/**
-	 * Gets the process from the selected element
-	 * @return the process or null if the element is not a process
-	 * 
-	 * @since 3.2
-	 */
-	private IProcess getProcess() {
-		IProcess proc = null;
-		Object obj = getElement();
-		if (obj instanceof IDebugElement) {
-			obj = ((IDebugElement)obj).getDebugTarget().getProcess();
-		}
-		if (obj instanceof IProcess) {
-			proc = ((IProcess)obj);
-		}
-		return proc;
-	}
-	
-	/**
-	 * creates a vertical spacer for seperating components
-	 * @param comp
-	 * @param numlines
-	 * 
-	 * @since 3.2
-	 */
-	private void createVerticalSpacer(Composite comp, int numlines) {
-		Label lbl = new Label(comp, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = numlines;
-		lbl.setLayoutData(gd);
-	}
-	
-	/**
-	 * returns the path text
-	 * @param proc the process to extract the path text from
-	 * @return the path text or a message indicating no path text available
-	 * 
-	 * @since 3.2
-	 */
-	private String getPathText(IProcess proc) {
-		String text = DebugPreferencesMessages.ProcessPropertyPage_3;
-		if(proc != null) {
-			String tmp = proc.getLabel();
-			text = tmp.substring(0, tmp.lastIndexOf("(")); //$NON-NLS-1$
-		}
-		return text;
-	}
-	
-	/**
-	 * gets the pattern of text from the process label specified by regex
-	 * @param proc the process to compile the regex against
-	 * @param deftext the default text to return if the process is null
-	 * @param regex the regex to match in the process label
-	 * @return the regex matched text or the default supplied text if the process is null
-	 * 
-	 * @since 3.2
-	 */
-	private String getTimeText(IProcess proc) {
-		String text = DebugPreferencesMessages.ProcessPropertyPage_4;
-		if(proc != null) {
-			Pattern pattern = Pattern.compile("\\(.*\\)"); //$NON-NLS-1$
-			Matcher matcher = pattern.matcher(proc.getLabel());
-			matcher.find();
-			text = matcher.group(0);
-		}
-		return text;
-	}
-	
-	/** 
-	 * Initializes the text to be displayed in the commandline text widget
-	 * @param proc the process to compile the label fragment from
-	 * @return the commandline text or the empty string
-	 * 
-	 * @since 3.2
-	 */
-	private String getCommandLineText(IProcess proc) {
-		String cmdline = DebugPreferencesMessages.ProcessPropertyPage_5;
-		if(proc != null) {
-			cmdline = proc.getAttribute(IProcess.ATTR_CMDLINE);
-		}
-		return cmdline;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().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 bbe038d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
+++ /dev/null
@@ -1,527 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import com.ibm.icu.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.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.MultipleInputDialog;
-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.PlatformUI;
-
-/**
- * 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.SimpleVariablePreferencePage_10; 
-	protected static final String VALUE_LABEL = DebugPreferencesMessages.SimpleVariablePreferencePage_11; 
-	protected static final String DESCRIPTION_LABEL = DebugPreferencesMessages.SimpleVariablePreferencePage_12; 
-	
-	protected static String[] variableTableColumnProperties= {
-		"variable", //$NON-NLS-1$
-		"value", //$NON-NLS-1$
-		"description" //$NON-NLS-1$
-	};
-	protected String[] variableTableColumnHeaders= {
-		DebugPreferencesMessages.SimpleVariablePreferencePage_3, 
-		DebugPreferencesMessages.SimpleVariablePreferencePage_4, 
-		DebugPreferencesMessages.SimpleVariablePreferencePage_5
-	};
-	protected ColumnLayoutData[] variableTableColumnLayouts= {
-		new ColumnWeightData(33),
-		new ColumnWeightData(33),
-		new ColumnWeightData(34)
-	};
-	
-	public StringVariablePreferencePage() {
-		setDescription(DebugPreferencesMessages.SimpleVariablePreferencePage_6); 
-	}
-
-	/**
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().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.SimpleVariablePreferencePage_7, null); 
-		envAddButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleAddButtonPressed();
-			}
-		});
-		envEditButton = SWTUtil.createPushButton(buttonComposite, DebugPreferencesMessages.SimpleVariablePreferencePage_8, null); 
-		envEditButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleEditButtonPressed();
-			}
-		});
-		envEditButton.setEnabled(false);
-		envRemoveButton = SWTUtil.createPushButton(buttonComposite, DebugPreferencesMessages.SimpleVariablePreferencePage_9, null); 
-		envRemoveButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleRemoveButtonPressed();
-			}
-		});
-		envRemoveButton.setEnabled(false);
-	}
-	
-	private void handleAddButtonPressed() {
-		MultipleInputDialog dialog= new MultipleInputDialog(getShell(), DebugPreferencesMessages.SimpleVariablePreferencePage_13); 
-		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.SimpleVariablePreferencePage_15, MessageFormat.format(DebugPreferencesMessages.SimpleVariablePreferencePage_16, new String[] {name}));  // 
-				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.SimpleVariablePreferencePage_14); 
-		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.SimpleLaunchVariablePreferencePage_21, MessageFormat.format(DebugPreferencesMessages.SimpleLaunchVariablePreferencePage_22, new String[] {contributedVariablesToRemove.toString()})); // 
-			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.StringVariablePreferencePage_24, DebugPreferencesMessages.StringVariablePreferencePage_25, e.getStatus()); // 
-			}
-		}
-		
-		/**
-		 * 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()) {
-                            String pluginId = getVariableManager().getContributingPluginId(variable);
-                            if (pluginId != null) {
-                                buffer.append(MessageFormat.format(DebugPreferencesMessages.StringVariablePreferencePage_0, new String[] {pluginId})); 
-                            } else {
-                                buffer.append(DebugPreferencesMessages.SimpleLaunchVariablePreferencePage_23); 
-                            }
-						}
-						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;
-		}
-	}
-}
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 9fb7eb4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import java.util.Iterator;
-
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.views.ViewContextService;
-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.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.events.SelectionListener;
-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;
-import org.eclipse.ui.model.PerspectiveLabelProvider;
-
-/**
- * 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;
-    // This flag indicates whether or not the user has pressed the reset button
-	private boolean fResetPressed= false;
-	private PerspectiveLabelProvider fLabelProvider= null;
-    private SelectionListener fSelectionListener= new SelectionAdapter() {
-    
-        public void widgetSelected(SelectionEvent e) {
-            Object source = e.getSource();
-            if (source == fResetViewsButton) {
-                handleResetPressed();
-            } else if (source == fTrackViewsButton) {
-                handleTrackViewsToggled();
-            }
-        }
-    
-    };
-	
-	public ViewManagementPreferencePage() {
-		super();
-		setTitle(DebugPreferencesMessages.ViewManagementPreferencePage_1); 
-		setDescription(DebugPreferencesMessages.ViewManagementPreferencePage_0); 
-		setPreferenceStore(DebugUITools.getPreferenceStore());
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
-     */
-    public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.VIEW_MANAGEMENT_PREFERENCE_PAGE);
-	}
-
-	/* (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.ViewManagementPreferencePage_3); 
-		fTrackViewsButton.setSelection(DebugUITools.getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TRACK_VIEWS));
-        fTrackViewsButton.addSelectionListener(fSelectionListener);
-		
-		Label label= new Label(composite, SWT.WRAP);
-		label.setText(DebugPreferencesMessages.ViewManagementPreferencePage_4); 
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		fResetViewsButton= SWTUtil.createPushButton(composite, DebugPreferencesMessages.ViewManagementPreferencePage_5, null); 
-		((GridData) fResetViewsButton.getLayoutData()).horizontalAlignment= GridData.BEGINNING;
-		fResetViewsButton.addSelectionListener(fSelectionListener);
-		updateResetButton();
-	}
-    
-    private void handleResetPressed() {
-        fResetPressed= true;
-        fResetViewsButton.setEnabled(false);
-    }
-    
-    protected void handleTrackViewsToggled() {
-        if (fTrackViewsButton.getSelection()) {
-            // When toggled on, possibly re-enable the reset button
-            updateResetButton();
-        } else {
-            // When toggled off, disable the reset button
-            fResetViewsButton.setEnabled(false);
-        }
-    }
-
-	/**
-	 * @param parent
-	 */
-	private void createPerspectiveViewer(Composite parent) {
-		Label label= new Label(parent, SWT.WRAP);
-		label.setText(DebugPreferencesMessages.ViewManagementPreferencePage_2); 
-		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);
-		fLabelProvider= new PerspectiveLabelProvider();
-		fPerspectiveViewer.setLabelProvider(fLabelProvider);
-		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= ViewContextService.parseList(perspectiveList).iterator();
-		while (perspectiveIds.hasNext()) {
-			IPerspectiveDescriptor descriptor = registry.findPerspectiveWithId((String) perspectiveIds.next());
-            if (descriptor != null) {
-                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());
-		boolean trackViews = fTrackViewsButton.getSelection();
-        getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_TRACK_VIEWS, trackViews);
-		if (fResetPressed || !trackViews) {
-            // Reset if the user has pressed reset or chosen to no longer track views
-			getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_USER_VIEW_BINDINGS, ""); //$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.
-     * Always disable if "track views" is turned off.
-	 */
-	private void updateResetButton() {
-		boolean enableReset= !"".equals(getPreferenceStore().getString(IInternalDebugUIConstants.PREF_USER_VIEW_BINDINGS)); //$NON-NLS-1$
-        // Only enable the button if there are views to clear, the user hasn't pressed the reset
-        // button, and the option to "track views" is turned on.
-		fResetViewsButton.setEnabled(enableReset && !fResetPressed && fTrackViewsButton.getSelection());
-	}
-
-	private static class PerspectiveProvider implements IStructuredContentProvider {
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return PlatformUI.getWorkbench().getPerspectiveRegistry().getPerspectives();
-		}
-		
-		/* (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) {
-		}
-		
-        /* (non-Javadoc)
-         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-         */
-        public void dispose() {
-        }
-		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#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/AddContainerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.java
deleted file mode 100644
index e3f1ff3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.sourceTab_addButton); 
-	}
-	
-	/**
-	 * 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;
-		} 
-		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 0fce825..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.DebugUITools;
-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.TableViewer;
-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.PlatformUI;
-
-/**
- * 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.addSourceLocation_title); 
-		setTitle(SourceLookupUIMessages.addSourceLocation_description); 
-		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);
-		PlatformUI.getWorkbench().getHelpSystem().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 = DebugUITools.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) ((IStructuredSelection) fViewer.getSelection()).getFirstElement();
-		ISourceContainerBrowser browser = DebugUITools.getSourceContainerBrowser(type.getId());
-		if (browser != null) {
-			ISourceContainer[] results = browser.addSourceContainers(getShell(), fDirector);
-			if(results != null) {
-				fSourceContainerViewer.addEntries(results);
-			}
-		}
-		super.okPressed();
-	}
-	
-}
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 b629d96..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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/DownAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.java
deleted file mode 100644
index 673b78b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.sourceTab_downButton);  
-	}
-	/**
-	 * @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 9eadd34..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditContainerAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.DebugUITools;
-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.EditContainerAction_0); 
-	}
-	
-	/**
-	 * 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 = DebugUITools.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 641b014..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditSourceLookupPathAction.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionListenerAction;
-
-/**
- * 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.EditSourceLookupPathAction_0); 
-		setEnabled(false);
-		PlatformUI.getWorkbench().getHelpSystem().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) {
-			ISelection selection = fView.getViewer().getSelection();
-			if (selection instanceof IStructuredSelection) {
-				IStructuredSelection ss = (IStructuredSelection) selection;
-				if (ss.size() == 1) {
-					IWorkbenchPage page = fView.getSite().getPage();
-					SourceLookupManager.getDefault().displaySource(ss.getFirstElement(), page, true);
-				}
-			}
-		}
-	}
-}
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 8d13d4e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/LookupSourceAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionListenerAction;
-
-/**
- * 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.LookupSourceAction_0); 
-		setEnabled(false);
-		PlatformUI.getWorkbench().getHelpSystem().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() {
-		ISelection selection = fView.getViewer().getSelection();
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection) selection;
-			if (ss.size() == 1) {
-				IWorkbenchPage page = fView.getSite().getPage();
-				SourceLookupManager.getDefault().displaySource(ss.getFirstElement(), page, true);
-			}
-		}
-	}
-}
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 a6284c6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/Prompter.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-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.IStatusHandler;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-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) {
-			throw new CoreException(new Status(IStatus.ERROR,
-									IDebugUIConstants.PLUGIN_ID,
-									IStatus.OK,
-									SourceLookupUIMessages.Prompter_0,
-									null));
-		}
-		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();
-				}
-			}
-		};
-		DebugUIPlugin.getStandardDisplay().syncExec(r);
-		
-		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 7d0efb2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RemoveAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.sourceTab_removeButton); 
-	}
-	/**
-	 * 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 51174e7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.debug.ui.sourcelookup.CommonSourceNotFoundEditor;
-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.ResolveDuplicatesHandler_0); 
-		dialog.setMessage(SourceLookupUIMessages.ResolveDuplicatesHandler_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 5020eb6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RestoreDefaultAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.sourceTab_defaultButton); 
-	}
-	/**
-	 * @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 e9acaf1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 cc690aa..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAdapterFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 83b09cc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerLabelProvider.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.ui.DebugUITools;
-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 = DebugUITools.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 53a0ab9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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) {
-			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++;
-				}
-			}
-		}		
-		
-		refresh();
-		if(entries.length > 0)
-			setSelection(new StructuredSelection(entries));
-		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 7190bd5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerWorkbenchAdapter.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 6c76f83..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementAdapterFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 ea9c105..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementLabelProvider.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 f993e2f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementWorkbenchAdapter.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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/SourceLookupFacility.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java
deleted file mode 100644
index 324b9dc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java
+++ /dev/null
@@ -1,507 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-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.ISourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-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.InstructionPointerManager;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.internal.ui.views.launch.Decoration;
-import org.eclipse.debug.internal.ui.views.launch.DecorationManager;
-import org.eclipse.debug.internal.ui.views.launch.SourceNotFoundEditorInput;
-import org.eclipse.debug.internal.ui.views.launch.StandardDecoration;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugEditorPresentation;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IInstructionPointerPresentation;
-import org.eclipse.debug.ui.ISourcePresentation;
-import org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditorInput;
-import org.eclipse.debug.ui.sourcelookup.ISourceLookupResult;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IReusableEditor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Utility methods for looking up and displaying source.
- * 
- * @since 3.1
- */
-public class SourceLookupFacility implements IPageListener, IPartListener2, IPropertyChangeListener {
-    
-    /**
-     * Singleton source lookup facility
-     */
-    private static SourceLookupFacility fgDefault;
-    
-    /**
-     * Contains a map of the editor to use for each workbench
-     * page, when the 'resuse editor' preference is on. 
-     */
-    private Map fEditorsByPage;
-    
-    /**
-     * Used to generate annotations for stack frames
-     */
-    private IInstructionPointerPresentation fPresentation = (IInstructionPointerPresentation) DebugUITools.newDebugModelPresentation();
-    
-    /**
-     * Whether to re-use editors when displaying source.
-     */
-    private boolean fReuseEditor = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_REUSE_EDITOR);
-	
-    /**
-     * Returns the source lookup facility
-     * @return
-     */
-    public static SourceLookupFacility getDefault() {
-        if (fgDefault == null) {
-            fgDefault = new SourceLookupFacility();
-        }
-        return fgDefault;
-    }
-    
-    /**
-     * Performs cleanup
-     */
-    public static void shutdown() {
-        if (fgDefault != null) {
-            fgDefault.dispose();
-        }
-    }
-    
-    /**
-     * Constructs a source lookup facility.
-     */
-    private SourceLookupFacility() {
-        fEditorsByPage = new HashMap();
-        DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-    }
-    
-    /**
-     * Performs source lookup for the given artifact and returns the result.
-     *  
-     * @param artifact object for which source is to be resolved
-     * @param locator the source locator to use, or <code>null</code>. When <code>null</code>
-     *   a source locator is determined from the artifact, if possible. If the artifact
-     *   is a debug element, the source locator from its associated launch is used. 
-     * @return a source lookup result
-     */
-    public SourceLookupResult lookup(Object artifact, ISourceLocator locator) {
-        SourceLookupResult result = new SourceLookupResult(artifact, null, null, null);
-        IDebugElement debugElement = null;
-        if (artifact instanceof IDebugElement) {
-            debugElement = (IDebugElement)artifact;
-        }
-		if (locator == null) {
-		    ILaunch launch = null;
-		    if (debugElement != null) {
-		        launch = debugElement.getLaunch();
-		    }
-		    if (launch != null) {
-		        locator = launch.getSourceLocator();
-		    }
-		}
-		if (locator != null) {
-			String editorId =null;
-			IEditorInput editorInput = null;
-			Object sourceElement = null;
-			if (locator instanceof ISourceLookupDirector) {
-			    ISourceLookupDirector director = (ISourceLookupDirector)locator;
-			    sourceElement = director.getSourceElement(artifact);
-			} else {
-			    if (artifact instanceof IStackFrame) {
-			        sourceElement = locator.getSourceElement((IStackFrame)artifact);
-			    }
-			}
-			if (sourceElement == null) {
-				if (locator instanceof AbstractSourceLookupDirector) {
-				    editorInput = new CommonSourceNotFoundEditorInput(artifact);
-					editorId = IDebugUIConstants.ID_COMMON_SOURCE_NOT_FOUND_EDITOR;
-				} else {
-				    if (artifact instanceof IStackFrame) {
-				        IStackFrame frame = (IStackFrame)artifact;
-					    editorInput = new SourceNotFoundEditorInput(frame);
-						editorId = IInternalDebugUIConstants.ID_SOURCE_NOT_FOUND_EDITOR;
-				    }
-				}
-			} else {
-				ISourcePresentation presentation= null;
-				if (locator instanceof ISourcePresentation) {
-					presentation= (ISourcePresentation) locator;
-				} else {
-				    if (debugElement != null) {
-				        presentation= getPresentation(debugElement.getModelIdentifier());
-				    }
-				}
-				if (presentation != null) {
-					editorInput= presentation.getEditorInput(sourceElement);
-				}
-				if (editorInput != null) {
-					editorId= presentation.getEditorId(editorInput, sourceElement);
-				}				
-			}
-			result.setEditorInput(editorInput);
-			result.setEditorId(editorId);
-			result.setSourceElement(sourceElement);
-		}
-		return result;
-    }
-    
-    /**
-     * Rerturns the model presentation for the given debug model, or <code>null</code>
-     * if none.
-     * 
-     * @param id debug model id
-     * @return presentation for the model, or <code>null</code> if none.
-     */
-	protected IDebugModelPresentation getPresentation(String id) {
-		return ((DelegatingModelPresentation)DebugUIPlugin.getModelPresentation()).getPresentation(id);
-	}   
-	
-	/**
-	 * Returns an editor presentation.
-	 * 
-	 * @return an editor presentation
-	 */
-	protected IDebugEditorPresentation getEditorPresentation() {
-	    return (DelegatingModelPresentation)DebugUIPlugin.getModelPresentation();
-	}
-    
-    /**
-     * Opens an editor in the given workbench page for the given source lookup
-     * result. Has no effect if the result has an unknown editor id or editor input.
-     * The editor is opened, positioned, and annotated.
-     * <p>
-     * Honors the user preference of whether to re-use editors when displaying source.
-     * </p> 
-     * @param result source lookup result to display
-     * @param page the page to display the result in
-     */
-    public void display(ISourceLookupResult result, IWorkbenchPage page) {
-		IEditorPart editor= openEditor(result, page);
-		if (editor == null) {
-			return;
-		}
-		IStackFrame frame = null;
-        if (result.getArtifact() instanceof IStackFrame) {
-            frame = (IStackFrame) result.getArtifact();
-        }		
-		// position and annotate editor for stack frame
-        if (frame != null) {
-			IDebugEditorPresentation editorPresentation = getEditorPresentation();
-            if (editorPresentation.addAnnotations(editor, frame)) {
-				Decoration decoration = new StandardDecoration(editorPresentation, editor, frame.getThread());
-				DecorationManager.addDecoration(decoration);				
-			} else {
-				// perform standard positioning and annotations
-				ITextEditor textEditor = null;
-				if (editor instanceof ITextEditor) {					
-					textEditor = (ITextEditor)editor;
-				} else {
-					textEditor = (ITextEditor) editor.getAdapter(ITextEditor.class);
-				}
-				if (textEditor != null) {
-					positionEditor(textEditor, frame);
-					Annotation annotation = fPresentation.getInstructionPointerAnnotation(textEditor, frame);
-					InstructionPointerManager.getDefault().addAnnotation(textEditor, frame, annotation);
-				}
-			}
-		}        
-    }
-    
-	/**
-	 * 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(ISourceLookupResult result, IWorkbenchPage page) {
-		IEditorPart editor = null;
-		IEditorInput input= result.getEditorInput();
-		String id= result.getEditorId();
-		if (input == null || id == null) {
-			return null;
-		}
-		
-		// TODO: persist/restore the editor to use per page
-		
-		if (fReuseEditor) {
-			editor = page.getActiveEditor();
-			if (editor != null) {
-				// The active editor is the one we want to  reuse
-				if (!(editor.getEditorInput().equals(input) && editor.getSite().getId().equals(id))) {
-					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()) && refEditor.getSite().getId().equals(id)) {
-						editor = refEditor;
-						page.bringToTop(editor);
-						break;
-					}
-				}
-			}
-			if (editor == null) {
-			    IEditorPart editorForPage = getEditor(page);
-				if (editorForPage == null || editorForPage.isDirty() || page.isEditorPinned(editorForPage)) {
-				    // open a new editor
-					editor = openEditor(page, input, id);
-					editorForPage = editor;
-				} else if (editorForPage instanceof IReusableEditor && editorForPage.getSite().getId().equals(id)) {
-				    // re-use editor
-					((IReusableEditor)editorForPage).setInput(input);
-					editor = editorForPage;
-                    if(!page.isPartVisible(editor)) {
-                        page.bringToTop(editor);
-                    }
-				} else {
-				    // close editor, open a new one
-					editor = openEditor(page, input, id);
-					page.closeEditor(editorForPage, false);
-					editorForPage = editor;
-				}
-				setEditor(page, editorForPage);
-			}
-		} else {
-			// Open a new editor
-			editor = openEditor(page, input, id);
-		}
-		return editor;
-	}   
-	
-	/**
-	 * Positions the text editor for the given stack frame
-	 */
-	private void positionEditor(ITextEditor editor, IStackFrame frame) {
-		try {
-			int charStart = frame.getCharStart();
-			if (charStart > 0) {
-				int length = 0;
-				int charEnd = frame.getCharEnd();
-				if (charEnd > 0) {
-					length = charEnd - charStart;
-				}
-				editor.selectAndReveal(charStart, length);
-				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 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() {
-				if (!page.getWorkbenchWindow().getWorkbench().isClosing()) {
-					try {
-						editor[0] = page.openEditor(input, id, false, IWorkbenchPage.MATCH_ID|IWorkbenchPage.MATCH_INPUT);
-					} catch (PartInitException e) {
-						DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), 
-							DebugUIViewsMessages.LaunchView_Error_1,  
-							DebugUIViewsMessages.LaunchView_Exception_occurred_opening_editor_for_debugger__2,  
-							e);
-					}
-				}
-			}
-		}; 
-		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), r);
-		return editor[0];
-	}	
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPageListener#pageActivated(org.eclipse.ui.IWorkbenchPage)
-     */
-    public void pageActivated(IWorkbenchPage page) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPageListener#pageClosed(org.eclipse.ui.IWorkbenchPage)
-     */
-    public void pageClosed(IWorkbenchPage page) {
-        fEditorsByPage.remove(page);
-        page.removePartListener(this);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPageListener#pageOpened(org.eclipse.ui.IWorkbenchPage)
-     */
-    public void pageOpened(IWorkbenchPage page) {
-    	page.addPartListener(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#partClosed(org.eclipse.ui.IWorkbenchPartReference)
-     */
-    public void partClosed(IWorkbenchPartReference partRef) {
-        // clear the cached editor for the page if it has been closed
-        IWorkbenchPage page = partRef.getPage();
-        IEditorPart editor = getEditor(page);
-        IWorkbenchPart part = partRef.getPart(false);
-		if (part != null && part.equals(editor)) {
-			fEditorsByPage.remove(page);
-		}
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference)
-     */
-    public void partDeactivated(IWorkbenchPartReference partRef) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
-     */
-    public void partOpened(IWorkbenchPartReference partRef) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
-     */
-    public void partHidden(IWorkbenchPartReference partRef) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
-     */
-    public void partVisible(IWorkbenchPartReference partRef) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
-     */
-    public void partInputChanged(IWorkbenchPartReference partRef) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.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);
-		}
-    }
-    
-    /**
-     * Returns the editor to use to display source in the given page, or
-     * <code>null</code> if a new editor should be opened.
-     * 
-     * @param page workbench page
-     * @return the editor to use to display source in the given page, or
-     * <code>null</code> if a new editor should be opened
-     */
-    protected IEditorPart getEditor(IWorkbenchPage page) {
-        return (IEditorPart) fEditorsByPage.get(page);
-    }
-    
-    /**
-     * Sets the editor to use to display source in the given page, or
-     * <code>null</code> if a new editor should be opened.
-     * 
-     * @param page workbench page
-     * @return the editor to use to display source in the given page, or
-     * <code>null</code> if a new editor should be opened
-     */
-    protected void setEditor(IWorkbenchPage page, IEditorPart editorPart) {
-        if (editorPart == null) {
-            fEditorsByPage.remove(page);
-        } else {
-            fEditorsByPage.put(page, editorPart);
-        }
-        page.addPartListener(this);
-        page.getWorkbenchWindow().addPageListener(this);
-    } 
-  
-    /**
-     * Performs cleanup.
-     */
-    protected void dispose() {
-        DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-        fEditorsByPage.clear();
-        fPresentation.dispose();
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java
deleted file mode 100644
index 50dc8a3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Starts a source lookup service in each workbench window.
- * 
- * @since 3.2
- */
-public class SourceLookupManager implements IWindowListener {
-
-	private static SourceLookupManager fgDefault;
-	
-	/**
-	 * Services per window
-	 */
-	private Map fServices = new HashMap();
-	
-	private SourceLookupManager() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow[] workbenchWindows = workbench.getWorkbenchWindows();
-		for (int i = 0; i < workbenchWindows.length; i++) {
-			IWorkbenchWindow window = workbenchWindows[i];
-			windowOpened(window);
-		}
-		workbench.addWindowListener(this);
-	}
-		
-	/**
-	 * Returns the default source lookup manager.
-	 * 
-	 * @return
-	 */
-	public static SourceLookupManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new SourceLookupManager();
-		}
-		return fgDefault;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowActivated(IWorkbenchWindow window) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowDeactivated(IWorkbenchWindow window) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowClosed(IWorkbenchWindow window) {
-		SourceLookupService service = (SourceLookupService) fServices.get(window);
-		if (service != null) {
-			service.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowOpened(IWorkbenchWindow window) {
-		SourceLookupService service = new SourceLookupService(window);
-		fServices.put(window, service);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.contexts.ISourceDisplayAdapter#displaySource(java.lang.Object, org.eclipse.ui.IWorkbenchPage, boolean)
-	 */
-	public void displaySource(Object context, IWorkbenchPage page, boolean forceSourceLookup) {
-		IWorkbenchWindow window = page.getWorkbenchWindow();
-		SourceLookupService service = (SourceLookupService) fServices.get(window);
-		if (service != null) {
-			service.displaySource(context, page, forceSourceLookup);
-		}
-	}	
-}
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 12af658..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Bug 89748
- *******************************************************************************/
-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.sourceTab_lookupLabel); 
-		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.sourceTab_searchDuplicateLabel); 
-		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);
-		
-		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.sourceLookupPanel_2); 
-			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.sourceLookupPanel_2); 
-					return;
-				}
-				locator = getLaunchManager().newSourceLocator(type);
-				if (!(locator instanceof AbstractSourceLookupDirector)) {
-					setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_2); 
-					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.sourceLookupPanel_1); 
-					return;
-				}
-			}
-			else workingCopy = configuration;	
-			if(workingCopy == null) {
-				DebugUIPlugin.logErrorMessage(SourceLookupUIMessages.sourceLookupPanel_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.sourceLookupPanel_1); 
-			}
-			
-		}			
-	}
-	
-	protected boolean isDefault(ILaunchConfiguration configuration) {
-		ISourceContainer[] current = getEntries();
-		return !isFindDuplicates() && current.length == 1 && current[0] instanceof DefaultSourceContainer;
-	}
-
-	private boolean isFindDuplicates() {
-		return fDuplicatesButton.getSelection();
-	}
-
-	/**
-	 * 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.sourceTab_tabTitle; 
-	}
-	
-	/* (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/SourceLookupResult.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupResult.java
deleted file mode 100644
index ffa6f7e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupResult.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.debug.ui.sourcelookup.ISourceLookupResult;
-import org.eclipse.ui.IEditorInput;
-
-/**
- * The result of a source lookup contains the source element, editor id, and 
- * editor input resolved for a debug artifact.
- * 
- * @since 3.1
- */
-public class SourceLookupResult implements ISourceLookupResult {
-    
-    /** 
-     * Element that source was resolved for.
-     */
-    private Object fArtifact;
-    /**
-     * Corresponding source element, or <code>null</code>
-     * if unknown.
-     */
-    private Object fSourceElement;
-    /**
-     * Associated editor id, used to display the source element,
-     * or <code>null</code> if unknown.
-     */
-    private String fEditorId;
-    /**
-     * Associatd editor input, used to display the source element,
-     * or <code>null</code> if unknown.
-     */
-    private IEditorInput fEditorInput;
-
-    /**
-     * Creates a source lookup result on the given artifact, source element, 
-     * editor id, and editor input.
-     */
-    public SourceLookupResult(Object artifact, Object sourceElement, String editorId, IEditorInput editorInput) {
-        fArtifact = artifact;
-        setSourceElement(sourceElement);
-        setEditorId(editorId);
-        setEditorInput(editorInput);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.sourcelookup.ISourceLookupResult#getArtifact()
-     */
-    public Object getArtifact() {
-        return fArtifact;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.sourcelookup.ISourceLookupResult#getSourceElement()
-     */
-    public Object getSourceElement() {
-        return fSourceElement;
-    }
-    
-    /**
-     * Sets the source element resolved for the artifact that source
-     * lookup was performed for, or <code>null</code> if a source element
-     * was not resolved.
-     * 
-     * @param element resolved source element or <code>null</code> if unknown
-     */    
-    protected void setSourceElement(Object element) {
-        fSourceElement = element;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.sourcelookup.ISourceLookupResult#getEditorId()
-     */
-    public String getEditorId() {
-        return fEditorId;
-    }
-    
-    /**
-     * Sets the identifier of the editor used to display this source
-     * lookup result's source element, or <code>null</code> if unknown.
-     * 
-     * @param id the identifier of the editor used to display this source
-     * lookup result's source element, or <code>null</code> if unknown
-     */
-    protected void setEditorId(String id) {
-        fEditorId = id;
-    }    
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.sourcelookup.ISourceLookupResult#getEditorInput()
-     */
-    public IEditorInput getEditorInput() {
-        return fEditorInput;
-    }
-    
-    /**
-     * Sets the editor input used to display this source lookup
-     * result's source element, or <code>null</code> if unknown.
-     * 
-     * @param input the editor input used to display this source lookup
-     * result's source element, or <code>null</code> if unknown
-     */
-    protected void setEditorInput(IEditorInput input) {
-        fEditorInput = input;
-    }    
-	
-	/**
-	 * Updates the artifact to refer to the given artifact
-	 * if equal. For example, when a source lookup result is resued
-	 * for the same stack frame, we still need to update in case
-	 * the stack frame is not identical.
-	 * 
-	 * @param artifact new artifact state
-	 */
-	public void updateArtifact(Object artifact) {
-		if (fArtifact.equals(artifact)) {
-			fArtifact = artifact;
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupService.java
deleted file mode 100644
index 3d1295d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupService.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISourceDisplayAdapter;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * Performs source lookup in a window.
- * 
- * @since 3.2
- */
-public class SourceLookupService implements IDebugContextListener, ISourceDisplayAdapter {
-	
-	private IWorkbenchWindow fWindow;
-	
-	public SourceLookupService(IWorkbenchWindow window) {
-		fWindow = window;
-		DebugContextManager.getDefault().addDebugContextListener(this, window);
-	}
-	
-	public void dispose() {
-		DebugContextManager.getDefault().removeDebugContextListener(this, fWindow);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextListener#contextActivated(java.lang.Object, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public synchronized void contextActivated(ISelection selection, IWorkbenchPart part) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection structuredSelection = (IStructuredSelection)selection;
-			if (structuredSelection.size() == 1) {
-				Object context = (structuredSelection).getFirstElement();
-				IWorkbenchPage page = null;
-				if (part == null) {
-					page = fWindow.getActivePage();
-				} else {
-					page = part.getSite().getPage();
-				} 
-				displaySource(context, page, false);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.contexts.ISourceDisplayAdapter#displaySource(java.lang.Object, org.eclipse.ui.IWorkbenchPage, boolean)
-	 */
-	public void displaySource(Object context, IWorkbenchPage page, boolean forceSourceLookup) {
-		if (context instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) context;
-			ISourceDisplayAdapter adapter = (ISourceDisplayAdapter) adaptable.getAdapter(ISourceDisplayAdapter.class);
-			if (adapter != null) {						
-				adapter.displaySource(context, page, forceSourceLookup);
-			}
-		}
-	}	
-}
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 7d91f76..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- * QNX Software Systems - Mikhail Khodjaiants - Bug 114664
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.osgi.util.NLS;
-
-public class SourceLookupUIMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages";//$NON-NLS-1$
-
-	// Source search launch configuration tab/errors/dialogs
-	public static String EditContainerAction_0;
-	public static String sourceTab_lookupLabel;
-	public static String sourceTab_searchDuplicateLabel;
-	public static String sourceTab_upButton;
-	public static String sourceTab_downButton;
-	public static String sourceTab_removeButton;
-	public static String sourceTab_addButton;
-	public static String sourceTab_tabTitle;
-	public static String sourceTab_defaultButton;
-
-	public static String addSourceLocation_title;
-	public static String addSourceLocation_description;
-
-	public static String addSourceLocation_addButton2;
-	public static String addSourceLocation_editorMessage;
-
-	public static String sourceSearch_folderSelectionError;
-	public static String sourceSearch_initError;
-
-	public static String projectSelection_chooseLabel;
-	public static String projectSelection_requiredLabel;
-
-	public static String folderSelection_title;
-	public static String folderSelection_label;
-
-	public static String manageSourceDialog_title;
-	public static String manageSourceDialog_description;
-
-	public static String sourceLookupPanel_1;
-	public static String sourceLookupPanel_2;
-	public static String ResolveDuplicatesHandler_0;
-	public static String ResolveDuplicatesHandler_1;
-	public static String EditSourceLookupPathAction_0;
-	public static String LookupSourceAction_0;
-	public static String ExternalArchiveSourceContainerBrowser_2;
-	public static String ArchiveSourceContainerBrowser_3;
-	public static String ArchiveSourceContainerBrowser_4;
-	public static String DirectorySourceContainerDialog_0;
-	public static String DirectorySourceContainerDialog_1;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, SourceLookupUIMessages.class);
-	}
-
-	public static String DirectorySourceContainerDialog_2;
-
-	public static String DirectorySourceContainerDialog_3;
-
-	public static String DirectorySourceContainerDialog_4;
-
-	public static String DirectorySourceContainerDialog_5;
-
-	public static String DirectorySourceContainerDialog_6;
-
-	public static String DirectorySourceContainerDialog_7;
-
-	public static String DirectorySourceContainerDialog_8;
-
-	public static String Prompter_0;
-}
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 a02d39f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     QNX Software Systems - Mikhail Khodjaiants - Bug 114664
-###############################################################################
-
-# 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 = Re&move
-sourceTab_addButton = &Add...
-sourceTab_tabTitle = Source
-sourceTab_defaultButton = Restore Defa&ult
-
-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:
-DirectorySourceContainerDialog_2=File system folder
-DirectorySourceContainerDialog_3=Specify folder and whether subfolders should be searched
-DirectorySourceContainerDialog_4=&Directory:
-DirectorySourceContainerDialog_5=&Browse...
-DirectorySourceContainerDialog_6=Search sub&folders
-DirectorySourceContainerDialog_7=Add File System Directory
-DirectorySourceContainerDialog_8=Edit File System Directory
-Prompter_0=Failed to get the root status handler.
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 4039d38..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-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;
-
-/**
- * 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){
-		ImageDescriptor imageDescriptor = DebugUIPlugin.getImageDescriptor(configElement, ICON_ATTRIBUTE);
-		if (imageDescriptor == null) {
-			imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-		}
-		String configTypeID = configElement.getAttribute(CONTAINER_ID_ATTRIBUTE);
-		ImageRegistry imageRegistry = DebugPluginImages.getImageRegistry();
-		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 94110d3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/UpAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.sourceTab_upButton);  
-	}
-	/**
-	 * 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 2356bd1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/WorkingSetSourceContainerType.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.WorkingSetSourceContainer;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * 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();
-			parser.setErrorHandler(new DefaultHandler());
-			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.sourceSearch_initError,null);
-			}
-			workingSet = PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(name);
-			//check that set still exists
-			if (workingSet == null) {				
-				abort(SourceLookupUIMessages.sourceSearch_initError, null); 
-			}				
-			return new WorkingSetSourceContainer(workingSet);	
-			
-		} catch (ParserConfigurationException e) {
-			ex = e;
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		
-		abort(SourceLookupUIMessages.sourceSearch_initError, ex);	
-		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 c5d5565..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 ffbb330..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.ArchiveSourceContainerBrowser_3); 
-		dialog.setMessage(SourceLookupUIMessages.ArchiveSourceContainerBrowser_4); 
-		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 b3cbbba..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerBrowser.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Bug 114664
- *******************************************************************************/
-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.jface.window.Window;
-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);
-		if (dialog.open() == Window.OK) {
-			String directory = dialog.getDirectory();
-			if(directory !=null) {
-				containers[0] = new DirectorySourceContainer(new Path(directory), dialog.isSearchSubfolders());			
-				return containers;			
-			}
-		}		
-		return new ISourceContainer[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser#canEditSourceContainers(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector, org.eclipse.debug.core.sourcelookup.ISourceContainer[])
-	 */
-	public boolean canEditSourceContainers(ISourceLookupDirector director, ISourceContainer[] containers) {
-		return containers.length == 1 && DirectorySourceContainer.TYPE_ID.equals(containers[0].getType().getId());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser#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) {
-		if (containers.length == 1 && DirectorySourceContainer.TYPE_ID.equals(containers[0].getType().getId()) ) {
-			DirectorySourceContainer c = (DirectorySourceContainer)containers[0];
-			DirectorySourceContainerDialog dialog = new DirectorySourceContainerDialog(shell, c.getDirectory().getPath(), c.isComposite());
-			if (dialog.open() == Window.OK) {
-				String directory = dialog.getDirectory();
-				if(directory !=null) {
-					containers[0].dispose();
-					return new ISourceContainer[]{ new DirectorySourceContainer(new Path(directory), dialog.isSearchSubfolders())};			
-				}
-			}
-		}
-		return containers;
-	}
-	
-}
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 e0add88..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Bug 114664
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import java.io.File;
-
-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.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.resource.JFaceResources;
-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.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;
-
-/**
- * The dialog for selecting the external folder for which a source container will be created.
- * 
- * @since 3.0
- */
-public class DirectorySourceContainerDialog extends TitleAreaDialog {
-
-	private static final String LAST_PATH_SETTING = "EXT_FOLDER_LAST_PATH_SETTING"; //$NON-NLS-1$
-	private static final String LAST_SUBDIR_SETTING = "EXT_FOLDER_LAST_SUBDIR_SETTING"; //$NON-NLS-1$
-
-	private String fDirectory;
-	private boolean fSearchSubfolders = true;
-	
-	private Text fDirText;
-	private Button fSubfoldersButton;
-	
-	private boolean fNewContainer = true;
-
-	/**
-	 * Creates a dialog to select a new file system folder.
-	 * 
-	 * @param shell shell
-	 */
-	public DirectorySourceContainerDialog(Shell shell) {
-		this(shell, "", DebugUIPlugin.getDefault().getDialogSettings().getBoolean(LAST_SUBDIR_SETTING)); //$NON-NLS-1$
-		fNewContainer = true;
-	}
-
-	/**
-	 * Creates a dialog to edit file system folder.
-	 *  
-	 * @param shell shell
-	 * @param directory directory to edit or empyy string
-	 * @param searchSubfolders whether the search subfolders button should be checked
-	 * @param newContainer 
-	 */
-	public DirectorySourceContainerDialog(Shell shell, String directory, boolean searchSubfolders) {
-		super(shell);
-		setShellStyle(getShellStyle() | SWT.RESIZE );
-		fDirectory = directory;
-		fSearchSubfolders = searchSubfolders;
-		fNewContainer = false;
-	}
-	
-	/**
-	 * Returns the result of the dialog.open() operation
-	 * @return the dialog.open() result
-	 */
-	public String getDirectory() {
-		return fDirectory;
-	}
-
-	/**
-	 * Returns whether the 'search subfolders' option is selected.
-	 * 
-	 * @return whether the 'search subfolders' option is selected
-	 */
-	public boolean isSearchSubfolders() {
-		return fSearchSubfolders;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Image image = (fNewContainer) ? DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_ADD_SRC_DIR_WIZ) : 
-			DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_EDIT_SRC_DIR_WIZ);
-		setTitle(SourceLookupUIMessages.DirectorySourceContainerDialog_2);
-		setMessage(SourceLookupUIMessages.DirectorySourceContainerDialog_3);
-		setTitleImage(image);
-		Composite parentComposite = (Composite)super.createDialogArea(parent);
-		Font font = parentComposite.getFont();
-		Composite composite = new Composite(parentComposite, 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);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(font);
-
-        Composite dirComposite = new Composite(composite, SWT.NONE);
-        layout = new GridLayout(2, false);
-		dirComposite.setLayout(layout);
-		dirComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		dirComposite.setFont(font);
-
-        Label label = new Label(dirComposite, SWT.NONE);
-        label.setText(SourceLookupUIMessages.DirectorySourceContainerDialog_4);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.horizontalSpan = 2;
-        label.setLayoutData(data);
-        label.setFont(font);
-        
-        fDirText = new Text(dirComposite, SWT.BORDER);
-        data = new GridData(GridData.FILL_HORIZONTAL);
-        data.horizontalSpan = 1;
-        fDirText.setLayoutData(data);
-        fDirText.setFont(font);
-        fDirText.addModifyListener(new ModifyListener() {
-			public void modifyText( ModifyEvent e ) {
-				validate();
-			}        	
-        });
-
-        Button button = new Button(dirComposite, SWT.PUSH);
-        button.setText(SourceLookupUIMessages.DirectorySourceContainerDialog_5);
-        data = new GridData();
-        int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-        Point minSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-        data.widthHint = Math.max(widthHint, minSize.x);
-        button.setLayoutData(data);
-        button.setFont(JFaceResources.getDialogFont());
-        button.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-            	browse();
-            }
-        });
-
-        fSubfoldersButton = new Button(composite, SWT.CHECK);
-        fSubfoldersButton.setText(SourceLookupUIMessages.DirectorySourceContainerDialog_6);
-
-        return parentComposite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell newShell) {
-		String title = null;
-		if (fNewContainer) {
-			title = SourceLookupUIMessages.DirectorySourceContainerDialog_7;
-		} else {
-			title = SourceLookupUIMessages.DirectorySourceContainerDialog_8;
-		}
-		newShell.setText(title);
-		super.configureShell( newShell );
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.TitleAreaDialog#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control c = super.createContents(parent);
-		fDirText.setText(fDirectory);
-		fSubfoldersButton.setSelection(fSearchSubfolders);
-		validate();
-		return c;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		fDirectory = fDirText.getText().trim();
-		fSearchSubfolders = fSubfoldersButton.getSelection();
-		DebugUIPlugin.getDefault().getDialogSettings().put(LAST_PATH_SETTING, fDirectory);
-		DebugUIPlugin.getDefault().getDialogSettings().put(LAST_SUBDIR_SETTING, fSearchSubfolders);	
-		super.okPressed();
-	}
-
-	private void browse() {
-		String last = fDirText.getText().trim();
-		if (last.length() == 0) {
-			last = DebugUIPlugin.getDefault().getDialogSettings().get(LAST_PATH_SETTING);
-		}
-		if (last == null) {
-			last = "";  //$NON-NLS-1$
-		}
-		DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SINGLE);
-		dialog.setText(SourceLookupUIMessages.DirectorySourceContainerDialog_0); 
-		dialog.setMessage(SourceLookupUIMessages.DirectorySourceContainerDialog_1); 
-		dialog.setFilterPath(last);
-		String result = dialog.open();
-		if (result == null) {
-			return;
-		}
-		fDirText.setText(result);
-	}
-
-	private void validate() {
-		File file = new File(fDirText.getText().trim());
-		getButton(IDialogConstants.OK_ID).setEnabled(file.isDirectory() && file.exists());
-	}
-}
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 a5e2f03..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.ExternalArchiveSourceContainerBrowser_2); 
-		dialog.setFilterExtensions(new String[]{"*.jar;*.zip"});  //$NON-NLS-1$
-		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 d040e54..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.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) {
-		FolderSourceContainerDialog 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) {
-					containers.add(new FolderSourceContainer((IFolder)selection[i], dialog.isSearchSubfolders()));
-				}
-			}
-			return (ISourceContainer[])containers.toArray(new ISourceContainer[containers.size()]);	
-		}			
-		return new ISourceContainer[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser#canEditSourceContainers(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector, org.eclipse.debug.core.sourcelookup.ISourceContainer[])
-	 */
-	public boolean canEditSourceContainers(ISourceLookupDirector director, ISourceContainer[] containers) {
-		return containers.length == 1 && containers[0].getType().getId().equals(FolderSourceContainer.TYPE_ID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser#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) {
-		FolderSourceContainerDialog dialog = new FolderSourceContainerDialog(shell,  new WorkbenchLabelProvider(), new WorkbenchContentProvider());
-		FolderSourceContainer container = (FolderSourceContainer) containers[0];
-		dialog.setSearchSubfolders(container.isComposite());
-		dialog.setInitialSelection(container.getContainer());
-		if (dialog.open() == Window.OK) {
-			container.dispose();
-			Object[] selection= ((ElementTreeSelectionDialog)dialog).getResult();
-			ArrayList list = new ArrayList();			
-			for (int i= 0; i < selection.length; i++) {
-				if(selection[i] instanceof IFolder) {
-					list.add(new FolderSourceContainer((IFolder)selection[i], dialog.isSearchSubfolders()));
-				}
-			}
-			return (ISourceContainer[])list.toArray(new ISourceContainer[list.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 1526915..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerDialog.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.SWT;
-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.PlatformUI;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * The dialog for selecting the folder for which a source container will be created.
- * 
- * @since 3.0
- */
-public class FolderSourceContainerDialog extends ElementTreeSelectionDialog { 
-	
-	/**
-	 * Constant to persist the state of the search subfolders button
-	 * 
-	 * @since 3.2
-	 */
-	private static final String LAST_SUBDIR_SETTING = "EXT_FOLDER_SOURCE_LAST_SUBDIR_SETTING"; //$NON-NLS-1$
-	
-	/**
-	 * Lets us control searching subfolders
-	 * 
-	 * @since 3.2
-	 */
-	private Button fSubfoldersButton;
-	
-	/**
-	 * stored value whether to search subfolders or not
-	 * 
-	 * @since 3.2
-	 */
-	private boolean fSearchSubfolders = false;
-	
-	/**
-	 * We need to add in the new control for indicating whether to search sub folders or not
-	 * 
-	 * @since 3.2
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite parentc = (Composite)super.createDialogArea(parent);
-		fSubfoldersButton = new Button(parentc, SWT.CHECK);
-        fSubfoldersButton.setText(SourceLookupUIMessages.DirectorySourceContainerDialog_6);
-        fSubfoldersButton.setSelection(fSearchSubfolders);
-		return parentc;
-	}
-
-	/**
-	 * Sets the dialog values for its construction
-	 * @param parent the parent of the dialog
-	 * @param labelProvider the label provider for the content of the tree in the dialog
-	 * @param contentProvider the provider of the tree content for the dialog
-	 */
-	public FolderSourceContainerDialog(Shell parent, ILabelProvider labelProvider, ITreeContentProvider contentProvider) {
-		super(parent, labelProvider, contentProvider);
-		setTitle(SourceLookupUIMessages.folderSelection_title);	//	
-		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.sourceSearch_folderSelectionError, null); // 
-					} 				
-				}
-				return new Status(IStatus.OK, DebugUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-			}			
-		};
-		setValidator(validator);	
-		setDoubleClickSelects(true);
-		setAllowMultiple(true);
-		setMessage(SourceLookupUIMessages.folderSelection_label); 
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,  IDebugHelpContextIds.ADD_FOLDER_CONTAINER_DIALOG);
-		setSearchSubfolders(DebugUIPlugin.getDefault().getDialogSettings().getBoolean(LAST_SUBDIR_SETTING));
-	}
-	
-	/**
-	 * Returns whether the 'search subfolders' option is selected.
-	 * 
-	 * @since 3.2
-	 * @return true if the search subfolders button is selected, false otherwise.
-	 */
-	public boolean isSearchSubfolders() {
-		return fSearchSubfolders;
-	}
-	
-	/**
-	 * Sets whether the 'search subfolders' option is selected.
-	 * 
-	 * @param subfolders
-	 * @since 3.2
-	 */
-	public void setSearchSubfolders(boolean subfolders) {
-		fSearchSubfolders = subfolders;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.SelectionStatusDialog#okPressed()
-	 */
-	protected void okPressed() {
-		fSearchSubfolders = fSubfoldersButton.getSelection();
-		DebugUIPlugin.getDefault().getDialogSettings().put(LAST_SUBDIR_SETTING, fSearchSubfolders);
-		super.okPressed();
-	}
-	
-}
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 a5c0e8c..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.projectSelection_chooseLabel); 
-		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 3467f1b..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.PlatformUI;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-
-/**
- * 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.projectSelection_requiredLabel);  
-		addRequired.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fAddRequiredProjects = addRequired.getSelection();
-			}
-		});
-		addRequired.setSelection(fAddRequiredProjects);
-		addRequired.setFont(font);		
-		
-		applyDialogFont(composite);
-		PlatformUI.getWorkbench().getHelpSystem().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 ea7a914..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-
-/**
- * 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 = PlatformUI.getWorkbench().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 6375892..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 fa14d10..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ContainerResolver.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 418c69f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FilePrompt.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Matt Conway - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-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(getShell());
-		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 861fceb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FolderPrompt.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Matt Conway - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-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(getShell());
-		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 025697c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/IArgumentSelector.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 7291661..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ProjectResolver.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM 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 27b26a6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PromptingResolver.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Matt Conway - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import com.ibm.icu.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * 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.PromptExpanderBase_0, new String[] {promptHint}); 
-		} else {
-			dialogMessage = StringSubstitutionMessages.PromptExpanderBase_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) throws CoreException {
-		String value = null;
-		setupDialog(argument);
-
-		DebugUIPlugin.getStandardDisplay().syncExec(new Runnable() {
-			public void run() {
-				prompt();
-			}
-		});
-		if (dialogResultString != null) {
-			value = dialogResultString;
-			lastValue = dialogResultString;
-		} else {
-			// dialogResultString == null means prompt was cancelled
-			throw new DebugException(new Status(IStatus.CANCEL, DebugUIPlugin.getUniqueIdentifier(), IStatus.CANCEL, MessageFormat.format(StringSubstitutionMessages.PromptingResolver_0, new String[] { variable.getName() }), null)); 
-		}
-		return value;
-	}
-	
-	protected Shell getShell() {
-		Shell shell = DebugUIPlugin.getStandardDisplay().getActiveShell();
-		if (shell == null) {
-			shell = DebugUIPlugin.getShell();
-		}
-		return shell;
-	}
-
-}
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 05a1831..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceResolver.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import com.ibm.icu.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.ResourceResolver_6, new String[]{getReferenceExpression(variable, argument)}), null);				 
-		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.ResourceResolver_7, new String[]{getReferenceExpression(variable, null)}), null); 
-		}
-		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.ResourceResolver_8, new String[]{getReferenceExpression(variable, null)}), null); 
-		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 d6e0f6a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceSelector.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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.ResourceSelector_0); 
-		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 f6cb38b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceManager.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import java.util.EmptyStackException;
-import java.util.Stack;
-
-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 ITextSelection fSelectedText = null;
-	private Stack fWindowStack = new Stack();
-	
-	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) {
-		fWindowStack.remove(window);
-		fWindowStack.push(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) {
-		ISelectionService selectionService = window.getSelectionService();
-        selectionService.removeSelectionListener(this);
-		fWindowStack.remove(window);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowDeactivated(IWorkbenchWindow window) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowOpened(IWorkbenchWindow window) {
-		windowActivated(window);
-	}
-
-	/**
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		IWorkbenchWindow window = part.getSite().getWorkbenchWindow();
-		if (fWindowStack.isEmpty() || !fWindowStack.peek().equals(window)) {
-			// selection is not in the active window
-			return;
-		}
-		IResource selectedResource = null;
-		if (selection instanceof IStructuredSelection) {
-			Object result = ((IStructuredSelection)selection).getFirstElement();
-			if (result instanceof IResource) {
-				selectedResource = (IResource) result;
-			} else if (result instanceof IAdaptable) {
-			    IAdaptable adaptable = (IAdaptable) result;
-				selectedResource = (IResource)adaptable.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;
-		}
-	}
-	
-	/**
-	 * 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.getText();
-	}
-	
-	/**
-	 * Returns the active workbench window, or <code>null</code> if none.
-	 * 
-	 * @return the active workbench window, or <code>null</code> if none
-	 * @since 3.2
-	 */
-	public IWorkbenchWindow getActiveWindow() {
-		try {
-			return (IWorkbenchWindow) fWindowStack.peek();
-		} catch (EmptyStackException e) {
-		}
-		return null;
-	}
-
-}
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 e2726b8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedTextResolver.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.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 da44ec5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringPrompt.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     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.StringPromptExpander_0, dialogMessage, defaultValue == null ? lastValue : defaultValue, null); 
-		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 453cfb7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.osgi.util.NLS;
-
-public class StringSubstitutionMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.stringsubstitution.StringSubstitutionMessages";//$NON-NLS-1$
-
-	public static String PromptExpanderBase_0;
-	public static String PromptExpanderBase_1;
-	public static String PromptingResolver_0;
-
-	public static String RefreshTab_0;
-	public static String RefreshTab_6;
-	public static String RefreshTab_7;
-	public static String RefreshTab_8;
-	public static String RefreshTab_31;
-	public static String RefreshTab_32;
-	public static String RefreshTab_33;
-	public static String RefreshTab_34;
-	public static String RefreshTab_35;
-	public static String RefreshTab_36;
-	public static String RefreshTab_37;
-	public static String RefreshTab_38;
-	public static String RefreshTab_39;
-	public static String RefreshTab_40;
-	public static String RefreshTab_42;
-
-	public static String ResourceResolver_6;
-	public static String ResourceResolver_7;
-	public static String ResourceResolver_8;
-
-	public static String ResourceSelector_0;
-
-	public static String StringPromptExpander_0;
-
-	public static String StringVariableSelectionDialog_2;
-	public static String StringVariableSelectionDialog_3;
-	public static String StringVariableSelectionDialog_6;
-	public static String StringVariableSelectionDialog_7;
-	public static String StringVariableSelectionDialog_8;
-	public static String StringVariableSelectionDialog_0;
-	public static String StringVariableSelectionDialog_1;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, StringSubstitutionMessages.class);
-	}
-
-	public static String SystemPropertyArgumentSelector_0;
-
-	public static String SystemPropertyArgumentSelector_1;
-}
\ 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 0f0290a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-PromptExpanderBase_0=Please input a value for {0}
-PromptExpanderBase_1=Please input a value
-PromptingResolver_0=Failed to expand {0}. Input was cancelled.
-
-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=working set
-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
-SystemPropertyArgumentSelector_0=Select System Property
-SystemPropertyArgumentSelector_1=Select a system property (? = any character, * = any String):
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 ca12e41..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableLabelProvider.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.jface.viewers.LabelProvider;
-
-
-public 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);
-		}
-
-}
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 5832140..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import com.ibm.icu.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/SystemPropertyArgumentSelector.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SystemPropertyArgumentSelector.java
deleted file mode 100644
index b633cac..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SystemPropertyArgumentSelector.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-/**
- * Argument selector for system properties.
- * 
- * @since 3.2
- */
-public class SystemPropertyArgumentSelector implements IArgumentSelector {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.stringsubstitution.IArgumentSelector#selectArgument(org.eclipse.core.variables.IStringVariable, org.eclipse.swt.widgets.Shell)
-	 */
-	public String selectArgument(IStringVariable variable, Shell shell) {
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, new LabelProvider());
-		dialog.setElements(System.getProperties().keySet().toArray());
-		dialog.setTitle(StringSubstitutionMessages.SystemPropertyArgumentSelector_0);
-		dialog.setMessage(StringSubstitutionMessages.SystemPropertyArgumentSelector_1);
-		if (dialog.open() == Window.OK) {
-			return (String) dialog.getResult()[0];
-		}
-		return null;
-	}
-
-}
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 79d24fd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/WorkspaceResolver.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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/viewers/AbstractAddRemoveRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractAddRemoveRequestMonitor.java
deleted file mode 100644
index 7502092..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractAddRemoveRequestMonitor.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.jface.viewers.TreePath;
-
-
-
-/**
- * Common function for adds and removes.
- *  
- * @since 3.2
- */
-abstract class AbstractAddRemoveRequestMonitor extends AsynchronousRequestMonitor {
-	
-	private TreePath fPath;
-
-	/**
-	 * Constructs a request to add/reomve an element from the tree
-	 * 
-	 * @param node
-	 * @param path path to the element in the tree
-	 * @param model
-	 * 
-	 */
-	AbstractAddRemoveRequestMonitor(ModelNode node, TreePath path, AsynchronousModel model) {
-		super(node, model);
-		fPath = path;
-	}
-	
-	protected TreePath getPath() {
-		return fPath;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousModelRequestMonitor#contains(org.eclipse.debug.internal.ui.viewers.AsynchronousModelRequestMonitor)
-	 */
-	protected boolean contains(AsynchronousRequestMonitor update) {
-		if (update instanceof AbstractAddRemoveRequestMonitor) {
-			((AbstractAddRemoveRequestMonitor)update).getPath().equals(getPath());
-		}
-		return false;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractUpdatePolicy.java
deleted file mode 100644
index c8bec41..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractUpdatePolicy.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-
-/**
- * An update policy updates a viewer based on deltas reported by a model proxy.
- *  
- * @since 3.2
- *
- */
-public abstract class AbstractUpdatePolicy {
-
-	private AsynchronousViewer fViewer = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.IUpdatePolicy#init(org.eclipse.debug.ui.viewers.update.IPresentation)
-	 */
-	public void init(AsynchronousViewer viewer) {
-		fViewer = viewer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.IUpdatePolicy#dispose()
-	 */
-	public synchronized void dispose() {
-		fViewer = null;
-	}
-
-	/**
-	 * Returns the viewer this policy is installed on or <code>null</code>
-	 * if disposed.
-	 * 
-	 * @return presentation to update
-	 */
-	public AsynchronousViewer getViewer() {
-		return fViewer;
-	}
-	
-	protected synchronized boolean isDisposed() {
-		return fViewer == null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AddRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AddRequestMonitor.java
deleted file mode 100644
index a49a394..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AddRequestMonitor.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.jface.viewers.TreePath;
-
-
-
-/**
- * Request to add an item to a tree.
- *  
- * @since 3.2
- */
-class AddRequestMonitor extends AbstractAddRemoveRequestMonitor {
-
-	/**
-	 * Adds the given child to the specified parent.
-	 * 
-	 * @param parent parent node
-	 * @param path path to the child in the tree@param child
-	 * @param viewer
-	 * 
-	 */
-	AddRequestMonitor(ModelNode parent, TreePath path, AsynchronousModel model) {
-		super(parent, path, model);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousModelRequestMonitor#performUpdate()
-	 */
-	protected void performUpdate() {
-		((AsynchronousTreeModel)getModel()).add(getNode(), getPath().getLastSegment());
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java
deleted file mode 100644
index a593012..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java
+++ /dev/null
@@ -1,641 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-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.IAdaptable;
-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.Job;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousLabelAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IChildrenRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.ILabelRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelProxyFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * Model for an asynchronous viewer
- * 
- * @since 3.2
- */
-public abstract class AsynchronousModel {
-	
-	private ModelNode fRoot; // root node
-	private Map fElementToNodes = new HashMap(); // map of element to corresponding tree nodes (list)
-	private Map fModelProxies = new HashMap(); // map of installed model proxies, by element
-	private AsynchronousViewer fViewer; // viewer this model works for
-    private boolean fDisposed = false; // whether disposed
-    
-    // debug flags
-	public static boolean DEBUG_MODEL = false;
-	
-	static {
-		DEBUG_MODEL = DebugUIPlugin.DEBUG && "true".equals( //$NON-NLS-1$
-		 Platform.getDebugOption("org.eclipse.debug.ui/debug/viewers/model")); //$NON-NLS-1$
-	}  
-	
-	class EmptyContentAdapter extends AsynchronousContentAdapter {
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter#getChildren(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
-		 */
-		protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-			return EMPTY;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter#hasChildren(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
-		 */
-		protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter#supportsPartId(java.lang.String)
-		 */
-		protected boolean supportsPartId(String id) {
-			return true;
-		}
-	}
-	
-	protected IAsynchronousContentAdapter fEmptyContentAdapter = new EmptyContentAdapter();
-	
-	/**
-	 * List of requests currently being performed.
-	 */
-	private List fPendingUpdates = new ArrayList();
-	
-	/**
-	 * List of pending viewer udpates
-	 */
-	private List fViewerUpdates = new ArrayList();
-
-	/**
-	 * Constructs a new empty tree model
-	 * 
-	 * @param viewer associated viewer
-	 */
-	public AsynchronousModel(AsynchronousViewer viewer) {
-		fViewer = viewer;
-		if (DEBUG_MODEL) {
-			StringBuffer buffer = new StringBuffer();
-			buffer.append("MODEL CREATED for: "); //$NON-NLS-1$
-			buffer.append(fViewer);
-			buffer.append(" ("); //$NON-NLS-1$
-			buffer.append(this);
-			buffer.append(")"); //$NON-NLS-1$
-			DebugUIPlugin.debug(buffer.toString());
-		}
-	}
-	
-	/**
-	 * Initializes this model. Called once after creation.
-	 * 
-	 * @param root root element or <code>null</code>
-	 * @param widget root widget/control
-	 */
-	public void init(Object root) {
-		if (root != null) {
-			fRoot = new ModelNode(null, root);
-			mapElement(root, fRoot);
-		}		
-	}
-	
-	protected AsynchronousViewer getViewer() {
-		return fViewer;
-	}
-	
-	/**
-	 * Disposes this model
-	 */
-	public synchronized void dispose() {
-		if (DEBUG_MODEL) {
-			StringBuffer buffer = new StringBuffer();
-			buffer.append("MODEL DISPOSED for: "); //$NON-NLS-1$
-			buffer.append(fViewer);
-			buffer.append(" ("); //$NON-NLS-1$
-			buffer.append(this);
-			buffer.append(")"); //$NON-NLS-1$
-			DebugUIPlugin.debug(buffer.toString());
-		}
-        fDisposed = true;
-        cancelPendingUpdates();
-		disposeAllModelProxies();
-		ModelNode rootNode = getRootNode();
-		if (rootNode != null) {
-			rootNode.dispose();
-		}
-		fElementToNodes.clear();
-	}
-    
-    /**
-     * Returns whether this model has been disposed
-     */
-    public synchronized boolean isDisposed() {
-        return fDisposed;
-    }
-    
-    /**
-     * Cancels all pending update requests.
-     */
-    protected synchronized void cancelPendingUpdates() {
-        Iterator updates = fPendingUpdates.iterator();
-        while (updates.hasNext()) {
-            IAsynchronousRequestMonitor update = (IAsynchronousRequestMonitor) updates.next();
-            updates.remove();
-            update.setCanceled(true);
-        }
-        fPendingUpdates.clear();
-    }    
-	
-	/**
-	 * Installs the model proxy for the given element into this viewer
-	 * if not already installed.
-	 * 
-	 * @param element element to install an update policy for
-	 */
-	public synchronized void installModelProxy(Object element) {
-		if (!fModelProxies.containsKey(element)) {
-			IModelProxyFactoryAdapter modelProxyFactory = getModelProxyFactoryAdapter(element);
-			if (modelProxyFactory != null) {
-				final IModelProxy proxy = modelProxyFactory.createModelProxy(element, getPresentationContext());
-				if (proxy != null) {
-					fModelProxies.put(element, proxy);
-					Job job = new Job("Model Proxy installed notification job") {//$NON-NLS-1$
-						protected IStatus run(IProgressMonitor monitor) {
-							if (!monitor.isCanceled()) {
-								proxy.init(getPresentationContext());
-								getViewer().modelProxyAdded(proxy);
-								proxy.installed();
-							}
-							return Status.OK_STATUS;
-						} 
-					};
-					job.setSystem(true);
-					job.schedule();
-				}
-			}
-		}
-	}	
-	
-	/**
-	 * Uninstalls the model proxy installed for the given element, if any.
-	 * 
-	 * @param element
-	 */
-	protected synchronized void disposeModelProxy(Object element) {
-		IModelProxy proxy = (IModelProxy) fModelProxies.remove(element);
-		if (proxy != null) {
-			getViewer().modelProxyRemoved(proxy);
-			proxy.dispose();
-		}
-	}	
-	
-	/**
-	 * Unintalls all model proxies installed for this model
-	 */
-	private void disposeAllModelProxies() {
-	    synchronized(fModelProxies) {
-	        Iterator updatePolicies = fModelProxies.values().iterator();
-	        while (updatePolicies.hasNext()) {
-	            IModelProxy proxy = (IModelProxy)updatePolicies.next();
-	            getViewer().modelProxyRemoved(proxy);	            
-	            proxy.dispose();
-	        }
-	        
-	        fModelProxies.clear();
-	    }
-	}	
-	
-	/**
-	 * Returns the presentation this model is installed in
-	 * 
-	 * @return
-	 */
-	protected IPresentationContext getPresentationContext() {
-		return fViewer.getPresentationContext();
-	}
-	
-	/**
-	 * Returns the model proxy factory for the given element of <code>null</code> if none.
-	 * 
-	 * @param element element to retrieve adapters for
-	 * @return model proxy factory adapter or <code>null</code>
-	 */
-	protected IModelProxyFactoryAdapter getModelProxyFactoryAdapter(Object element) {
-		IModelProxyFactoryAdapter adapter = null;
-		if (element instanceof IModelProxyFactoryAdapter) {
-			adapter = (IModelProxyFactoryAdapter) element;
-		} else if (element instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) element;
-			adapter = (IModelProxyFactoryAdapter) adaptable.getAdapter(IModelProxyFactoryAdapter.class);
-		}
-		return adapter;
-	}	
-	
-	/**
-	 * Maps the given element to the given node.
-	 * 
-	 * @param element
-	 * @param node
-	 */
-	protected synchronized void mapElement(Object element, ModelNode node) {
-		ModelNode[] nodes = getNodes(element);
-        node.remap(element);
-		if (nodes == null) {
-			fElementToNodes.put(element, new ModelNode[] { node});
-		} else {
-			for (int i = 0; i < nodes.length; i++) {
-				if (nodes[i] == node) {
-					return;
-				}
-			}
-			ModelNode[] old = nodes;
-			ModelNode[] newNodes = new ModelNode[old.length + 1];
-			System.arraycopy(old, 0, newNodes, 0, old.length);
-			newNodes[old.length] = node;
-			fElementToNodes.put(element, newNodes);
-		}
-        installModelProxy(element);
-	}
-    
-    /**
-     * Unmaps the given node from its element and widget.
-     * 
-     * @param node
-     */
-    protected synchronized void unmapNode(ModelNode node) {
-        Object element = node.getElement();
-        ModelNode[] nodes = (ModelNode[]) fElementToNodes.get(element);
-        if (nodes == null) {
-            return;
-        }
-        if (nodes.length == 1) {
-            fElementToNodes.remove(element);
-            disposeModelProxy(element);
-        } else {
-            for (int i = 0; i < nodes.length; i++) {
-                ModelNode node2 = nodes[i];
-                if (node2 == node) {
-                    ModelNode[] newNodes= new ModelNode[nodes.length - 1];
-                    System.arraycopy(nodes, 0, newNodes, 0, i);
-                    if (i < newNodes.length) {
-                        System.arraycopy(nodes, i + 1, newNodes, i, newNodes.length - i);
-                    }
-                    fElementToNodes.put(element, newNodes);
-                }
-            }
-        }
-    }
-	
-	/**
-	 * Returns the nodes in this model for the given element or
-     * <code>null</code> if none.
-	 * 
-	 * @param element model element
-	 * @return associated nodes or <code>null</code>
-	 */
-	public synchronized ModelNode[] getNodes(Object element) {
-		return (ModelNode[]) fElementToNodes.get(element);
-	}
-	
-	/**
-	 * Returns the root node or <code>null</code>
-	 * 
-	 * @return the root node or <code>null</code>
-	 */
-	public ModelNode getRootNode() {
-		return fRoot;
-	}
-	
-	/**
-	 * Cancels any conflicting updates for children of the given item, and
-	 * schedules the new update.
-	 * 
-	 * @param update the update to schedule
-	 */
-	protected void requestScheduled(IAsynchronousRequestMonitor update) {
-		AsynchronousRequestMonitor absUpdate = (AsynchronousRequestMonitor) update;
-		synchronized (fPendingUpdates) {
-			Iterator updates = fPendingUpdates.listIterator();
-			while (updates.hasNext()) {
-				AsynchronousRequestMonitor pendingUpdate = (AsynchronousRequestMonitor) updates.next();
-				if (absUpdate.contains(pendingUpdate)) {
-					updates.remove();
-					pendingUpdate.setCanceled(true);
-				}
-			}
-			fPendingUpdates.add(update);
-		}
-	}	
-	
-	/**
-	 * Removes the update from the pending updates list.
-	 * 
-	 * @param update
-	 */
-	protected void requestComplete(IAsynchronousRequestMonitor update) {
-		synchronized (fPendingUpdates) {
-			fPendingUpdates.remove(update);
-		}
-	}
-	
-	/**
-	 * An viewer update has been scheduled due to the following update request.
-	 * 
-	 * @param update
-	 */
-	protected void viewerUpdateScheduled(IAsynchronousRequestMonitor update) {
-		// synch viewer updates and pending updates on same lock - fPendingUpdates
-		synchronized (fPendingUpdates) {
-			fViewerUpdates.add(update);
-		}
-	}
-	
-	/**
-	 * Returns the result of running the given elements through the
-	 * viewers filters.
-	 * 
-	 * @param parent parent element
-	 * @param elements the elements to filter
-	 * @return only the elements which all filters accept
-	 */
-	protected Object[] filter(Object parent, Object[] elements) {
-		ViewerFilter[] filters = getViewer().getFilters();
-		if (filters != null) {
-			ArrayList filtered = new ArrayList(elements.length);
-			for (int i = 0; i < elements.length; i++) {
-				boolean add = true;
-				for (int j = 0; j < filters.length; j++) {
-					add = filters[j].select(getViewer(), parent, elements[i]);
-					if (!add)
-						break;
-				}
-				if (add)
-					filtered.add(elements[i]);
-			}
-			return filtered.toArray();
-		}
-		return elements;
-	}
-	
-	/**
-	 * Refreshes the given node.
-	 * 
-	 * @param node
-	 */
-	protected void updateLabel(ModelNode node) {
-		Object element = node.getElement();
-		IAsynchronousLabelAdapter adapter = getLabelAdapter(element);
-		if (adapter != null) {
-			ILabelRequestMonitor labelUpdate = new LabelRequestMonitor(node, this);
-			requestScheduled(labelUpdate);
-			adapter.retrieveLabel(element, getPresentationContext(), labelUpdate);
-		}		
-	}
-	
-	/**
-	 * Returns the label adapter for the given element or <code>null</code> if none.
-	 * 
-	 * @param element element to retrieve adapter for
-	 * @return presentation adapter or <code>null</code>
-	 */
-	protected IAsynchronousLabelAdapter getLabelAdapter(Object element) {
-		IAsynchronousLabelAdapter adapter = null;
-		if (element instanceof IAsynchronousLabelAdapter) {
-			adapter = (IAsynchronousLabelAdapter) element;
-		} else if (element instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) element;
-			adapter = (IAsynchronousLabelAdapter) adaptable.getAdapter(IAsynchronousLabelAdapter.class);
-		}
-		// if no adapter, use default (i.e. model presentation)
-		if (adapter == null) {
-			return new AsynchronousDebugLabelAdapter();
-		}
-		return adapter;
-	}	
-	
-    /**
-     * Returns the tree element adapter for the given element or
-     * <code>null</code> if none.
-     * 
-     * @param element
-     *            element to retrieve adapter for
-     * @return presentation adapter or <code>null</code>
-     */
-    protected IAsynchronousContentAdapter getContentAdapter(Object element) {        
-        IAsynchronousContentAdapter adapter = null;
-        if (element instanceof IAsynchronousContentAdapter) {
-            adapter = (IAsynchronousContentAdapter) element;
-        } else if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            adapter = (IAsynchronousContentAdapter) adaptable.getAdapter(IAsynchronousContentAdapter.class);
-        }
-        return adapter;
-    }	
-    
-    /**
-     * Updates the children of the given node.
-     * 
-     * @param parent
-     *            node of which to update children
-     */
-    public void updateChildren(ModelNode parent) {
-        Object element = parent.getElement();
-        IAsynchronousContentAdapter adapter = getContentAdapter(element);
-        if (adapter == null) {
-        	adapter = fEmptyContentAdapter;
-        }
-        if (adapter != null) {
-            IChildrenRequestMonitor update = new ChildrenRequestMonitor(parent, this);
-            requestScheduled(update);
-            adapter.retrieveChildren(element, getPresentationContext(), update);
-        }
-    }    
-	
-	/**
-	 * Update this model's viewer preserving its selection.
-	 * 
-	 * @param update
-	 */
-	protected void preservingSelection(Runnable update) {
-		getViewer().preservingSelection(update);
-	}
-
-	/**
-	 * The viewer updated associated with a request is compelte.
-	 * 
-	 * @param monitor
-	 */
-	protected void viewerUpdateComplete(IAsynchronousRequestMonitor monitor) {
-		// synch viewer updates and pending updates on same lock - fPendingUpdates
-		synchronized (fPendingUpdates) {
-			fViewerUpdates.remove(monitor);
-		}
-		getViewer().updateComplete(monitor);
-	}
-	
-	/**
-	 * An update request was cancelled
-	 * 
-	 * @param monitor
-	 */
-	protected void requestCanceled(AsynchronousRequestMonitor monitor) {
-		synchronized (fPendingUpdates) {
-			fPendingUpdates.remove(monitor);
-		}
-	}
-	
-	/**
-	 * Whether any updates are still in progress in the model or against the viewer.
-	 * 
-	 * @return
-	 */
-	protected boolean hasPendingUpdates() {
-		synchronized (fViewerUpdates) {
-			return !fPendingUpdates.isEmpty() || !fViewerUpdates.isEmpty();
-		}
-	}
-	
-    /**
-     * Asynchronous update for add/set children request.
-     * 
-     * @param parent
-     * @param element
-     */
-	protected abstract void add(ModelNode parent, Object element);
-	
-	/**
-	 * Notification from children request monitor
-	 * 
-	 * @param parentNode parent node
-	 * @param kids list of model elements
-	 */
-	protected void setChildren(final ModelNode parentNode, List kids) {
-		
-        final Object[] children = filter(parentNode.getElement(), kids.toArray());
-        final AsynchronousViewer viewer = getViewer();
-        ViewerSorter sorter = viewer.getSorter();
-        if (sorter != null) {
-        	sorter.sort(viewer, children);
-        }
-        
-        ModelNode[] prevKids = null;
-        ModelNode[] newChildren = null;
-        ModelNode[] unmap = null; 
-        
-        synchronized (this) {
-        	if (isDisposed()) {
-                return;
-            }
-        	prevKids = parentNode.getChildrenNodes();
-            if (prevKids == null) {
-            	newChildren = new ModelNode[children.length];
-            	for (int i = 0; i < children.length; i++) {
-    				ModelNode node = new ModelNode(parentNode, children[i]);
-    				mapElement(children[i], node);
-    				newChildren[i] = node;
-    			}
-            	parentNode.setChildren(newChildren);
-            } else {
-            	newChildren = new ModelNode[children.length];
-            	unmap = new ModelNode[prevKids.length];
-            	for (int i = 0; i < prevKids.length; i++) {
-					unmap[i] = prevKids[i];	
-				}
-            	for (int i = 0; i < children.length; i++) {
-					Object child = children[i];
-					boolean found = false;
-					for (int j = 0; j < prevKids.length; j++) {
-						ModelNode prevKid = prevKids[j];
-						if (prevKid != null && child.equals(prevKid.getElement())) {
-							newChildren[i] = prevKid;
-							prevKids[j] = null;
-							found = true;
-							break;
-						}
-					}
-					if (!found) {
-						newChildren[i] = new ModelNode(parentNode, child);
-						mapElement(child, newChildren[i]);
-					}
-				}
-            	for (int i = 0; i < prevKids.length; i++) {
-            		ModelNode kid = prevKids[i];
-            		if (kid != null) {
-            			kid.dispose();
-            			unmapNode(kid);
-            		}
-            	}
-    	        parentNode.setChildren(newChildren);
-            }
-            if (DEBUG_MODEL) {
-            	DebugUIPlugin.debug("CHILDREN CHANGED: " + parentNode); //$NON-NLS-1$
-            	DebugUIPlugin.debug(toString());
-            }
-        }
-        
-        //update viewer outside the lock
-    	final ModelNode[] finalUnmap = unmap; 
-        preservingSelection(new Runnable() {
-            public void run() {
-            	if (finalUnmap != null) {
-	            	for (int i = 0; i < finalUnmap.length; i++) {
-						viewer.unmapNode(finalUnmap[i]);
-					}
-            	}
-            	viewer.nodeChildrenChanged(parentNode);
-            }
-        });        	        
-
-	}
-	
-	public String toString() {
-		StringBuffer buf = new StringBuffer();
-		if (fRoot != null) {
-			buf.append("ROOT: "); //$NON-NLS-1$
-			append(buf, fRoot, 0);
-		} else {
-			buf.append("ROOT: null"); //$NON-NLS-1$
-		}
-		return buf.toString();
-	}
-	
-	private void append(StringBuffer buf, ModelNode node, int level) {
-		for (int i = 0; i < level; i++) {
-			buf.append('\t');
-		}
-		buf.append(node);
-		buf.append('\n');
-		ModelNode[] childrenNodes = node.getChildrenNodes();
-		if (childrenNodes != null) {
-			for (int i = 0; i < childrenNodes.length; i++) {
-				append(buf, childrenNodes[i], level + 1);
-			}
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java
deleted file mode 100644
index bb40e86..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-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.debug.internal.ui.actions.context.AbstractRequestMonitor;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * Base implementation of an asynchronous request monitor.
- * <p>
- * Not intended to be subclassed or instantiated by clients. For internal use
- * with the <code>AsynchronousViewer</code> implementation.
- * </p>
- * @since 3.2
- */
-public abstract class AsynchronousRequestMonitor extends AbstractRequestMonitor {
-    
-	/**
-	 * Model node the upadte is rooted at
-	 */
-    private ModelNode fNode;
-    
-    /**
-     * Model the update is being performed for
-     */
-    private AsynchronousModel fModel;
-    
-    /**
-     * Wehther this request's 'done' method has been called.
-     */
-    private boolean fDone = false;
-    
-    protected WorkbenchJob fViewerUpdateJob = new WorkbenchJob("Asynchronous viewer update") { //$NON-NLS-1$
-        public IStatus runInUIThread(IProgressMonitor monitor) {
-            // necessary to check if widget is disposed. The item may
-            // have been removed from the tree when another children update
-            // occured.
-        	getModel().viewerUpdateScheduled(AsynchronousRequestMonitor.this);
-        	if (fDone) {
-        		getModel().requestComplete(AsynchronousRequestMonitor.this);
-        	}
-            if (!isCanceled() && !getNode().isDisposed()) {
-            	IStatus status = getStatus();
-                if (status != null && !status.isOK()) {
-                	getModel().getViewer().handlePresentationFailure(AsynchronousRequestMonitor.this, status);
-                } else {
-                	performUpdate();
-                }
-            }
-            getModel().viewerUpdateComplete(AsynchronousRequestMonitor.this);
-            return Status.OK_STATUS;
-        }
-    };
-    
-    /**
-     * Constructs an udpate rooted at the given item.
-     * 
-     * @param node model node
-     * @param model model the node is in
-     */
-    public AsynchronousRequestMonitor(ModelNode node, AsynchronousModel model) {
-        fNode = node;
-        fModel = model;
-        // serialize updates per viewer
-        fViewerUpdateJob.setRule(getUpdateSchedulingRule());
-        fViewerUpdateJob.setSystem(true);
-    }
-    
-    /**
-     * Returns the scheduling rule for viewer update job.
-     * 
-     * @return rule or <code>null</code>
-     */
-    protected ISchedulingRule getUpdateSchedulingRule() {
-    	return AsynchronousSchedulingRuleFactory.getDefault().newSerialPerObjectRule(getModel().getViewer());
-    }
-    
-    /**
-     * Returns the model this update is being peformed for
-     * 
-     * @return the model this update is being peformed for
-     */
-    protected AsynchronousModel getModel() {
-        return fModel;
-    }
-    
-    /**
-     * Returns the model node this update is rooted at
-     * 
-     * @return the model node this update is rooted at
-     */
-    protected ModelNode getNode() {
-        return fNode;
-    }
-    
-    /**
-     * Returns whether this update contains the given node.
-     * That is, whether this update is for the same node or a child of
-     * the given node.
-     * 
-     * @param ndoe node to test containment on
-     * @return whether this update contains the given node
-     */
-    protected boolean contains(ModelNode node) {
-    	if (node == getNode()) {
-    		return true;
-    	}
-        ModelNode parentNode = getNode().getParentNode();
-        while (parentNode != null) {
-            if (parentNode.equals(getNode())) {
-                return true;
-            }
-            parentNode = parentNode.getParentNode();
-        }
-        return false;
-    }
-    
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IProgressMonitor#setCanceled(boolean)
-     */
-    public void setCanceled(boolean value) {
-        super.setCanceled(value);
-        if (value) {
-        	getModel().requestCanceled(this);
-        }
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IProgressMonitor#done()
-     */
-    public final void done() {
-    	synchronized (this) {
-    		fDone = true;
-		}
-		scheduleViewerUpdate(0L);
-	}
-    
-    /**
-     * Returns whether this request is done yet.
-     * 
-     * @return
-     */
-    protected synchronized boolean isDone() {
-    	return fDone;
-    }
-
-    protected void scheduleViewerUpdate(long ms) {
-        if(!isCanceled()) 
-            fViewerUpdateJob.schedule(ms);
-    }
-    
-    /**
-	 * Notification this update has been completed and should now be applied to
-	 * this update's viewer. This method is called in the UI thread.
-	 */
-    protected abstract void performUpdate();
-    
-    /**
-     * Returns whether this update effectively contains the given update.
-     * That is, whether this update will also perform the given update.
-     * 
-     * @param update update to compare to
-     * @return whether this update will also perform the given update
-     */
-    protected abstract boolean contains(AsynchronousRequestMonitor update);
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousSchedulingRuleFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousSchedulingRuleFactory.java
deleted file mode 100644
index d8c1e42..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousSchedulingRuleFactory.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-
-/**
- * Scheduling rule factory for asycn operations.
- * 
- * @since 3.2
- */
-public class AsynchronousSchedulingRuleFactory {
-	
-	private static AsynchronousSchedulingRuleFactory fgFactory = null;
-
-	/**
-	 * Rule allows only one job to run at a time
-	 */
-	class SerialRule implements ISchedulingRule {
-
-		public SerialRule() {
-		}
-
-		public boolean contains(ISchedulingRule rule) {
-			return rule == this;
-		}
-
-		public boolean isConflicting(ISchedulingRule rule) {
-			return rule instanceof SerialRule;
-		}
-	}
-	
-   class SerialPerObjectRule implements ISchedulingRule {
-    	
-    	private Object fObject = null;
-    	
-    	public SerialPerObjectRule(Object lock) {
-    		fObject = lock;
-    	}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#contains(org.eclipse.core.runtime.jobs.ISchedulingRule)
-		 */
-		public boolean contains(ISchedulingRule rule) {
-			return rule == this;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#isConflicting(org.eclipse.core.runtime.jobs.ISchedulingRule)
-		 */
-		public boolean isConflicting(ISchedulingRule rule) {
-			if (rule instanceof SerialPerObjectRule) {
-				SerialPerObjectRule vup = (SerialPerObjectRule) rule;
-				return fObject == vup.fObject;
-			}
-			return false;
-		}
-    	
-    }	
-	
-	private AsynchronousSchedulingRuleFactory() {}
-	
-	public static AsynchronousSchedulingRuleFactory getDefault() {
-		if (fgFactory == null) {
-			fgFactory = new AsynchronousSchedulingRuleFactory();
-		}
-		return fgFactory;
-	}
-	
-	/**
-	 * Returns a scheulding rule that allows all jobs with an instance
-	 * of the rule to run one at a time.
-	 *  
-	 * @return scheduling rule
-	 */
-	public ISchedulingRule newSerialRule() {
-		return new SerialRule();
-	}
-	
-	/**
-	 * Returns a scheduling rule that allows all jobs with an instance
-	 * of the rule on the same object to run one at a time.
-	 * 
-	 * @param lock object to serialize one
-	 * @return scheduling rule
-	 */
-	public ISchedulingRule newSerialPerObjectRule(Object lock) {
-		return new SerialPerObjectRule(lock);
-	}
-	
-	/**
-	 * Returns a scheduling rule that allows all jobs with an instance of
-	 * the rule to run one at a time per part associated with the given
-	 * presentation context.
-	 * 
-	 * @param context presentation context
-	 * @return scheduling rule
-	 */
-	public ISchedulingRule newSerialPerPartRule(IPresentationContext context) {
-		return newSerialPerObjectRule(context.getPart());
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java
deleted file mode 100644
index 904fa02..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-
-/**
- * @since 3.2
- *
- */
-public class AsynchronousTableModel extends AsynchronousModel {
-
-	/**
-	 * Constructs a new table model.
-	 * 
-	 * @param viewer
-	 */
-	public AsynchronousTableModel(AsynchronousViewer viewer) {
-		super(viewer);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousModel#add(org.eclipse.debug.internal.ui.model.viewers.ModelNode, java.lang.Object)
-	 */
-	protected void add(ModelNode parent, Object element) {}
-	
-	/**
-	 * Adds the given elements to the table.
-	 * 
-	 * @param elements
-	 */
-	public void add(Object[] elements) {
-		TableAddRequestMonitor update = new TableAddRequestMonitor(getRootNode(), elements, this);
-		requestScheduled(update);
-		update.done();
-	}
-	
-	/**
-	 * Notification add request is complete.
-	 * 
-	 * @param elements elements to add
-	 */
-	protected void added(Object[] elements) {
-		List kids = null;
-		boolean changed = false;
-    	synchronized (this) {
-    		ModelNode[] childrenNodes = getRootNode().getChildrenNodes();
-    		if (childrenNodes == null) {
-    			kids = new ArrayList(elements.length);
-    		} else {
-    			kids = new ArrayList(elements.length + childrenNodes.length);
-    			for (int i = 0; i < childrenNodes.length; i++) {
-					kids.add(childrenNodes[i].getElement());
-				}
-    		}
-    		for (int i = 0; i < elements.length; i++) {
-    			if (!kids.contains(elements[i])) {
-    				kids.add(elements[i]);
-    				changed = true;
-    			}
-			}
-		}
-    	if (changed) {
-    		setChildren(getRootNode(), kids);
-    	}
-	}
-	
-	/**
-	 * Inserts the given elements to the table.
-	 * 
-	 * @param elements
-	 * @param index
-	 */
-	public void insert(Object[] elements, int index) {
-		TableAddRequestMonitor update = new TableInsertRequestMonitor(getRootNode(), elements, index, this);
-		requestScheduled(update);
-		update.done();
-	}
-	
-	/**
-	 * Notification insert request is complete.
-	 * 
-	 * @param elements elements to add
-	 * @param index index to insert at
-	 */
-	protected void inserted(Object[] elements, int index) {
-		List kids = null;
-		boolean changed = false;
-    	synchronized (this) {
-    		ModelNode[] childrenNodes = getRootNode().getChildrenNodes();
-    		if (childrenNodes == null) {
-    			kids = new ArrayList(elements.length);
-    		} else {
-    			kids = new ArrayList(elements.length + childrenNodes.length);
-    			for (int i = 0; i < childrenNodes.length; i++) {
-					kids.add(childrenNodes[i].getElement());
-				}
-    		}
-    		for (int i = 0; i < elements.length; i++) {
-    			if (!kids.contains(elements[i])) {
-    				kids.add(index, elements[i]);
-    				index++;
-    				changed = true;
-    			}
-			}
-		}
-    	if (changed) {
-    		setChildren(getRootNode(), kids);
-    	}
-	}	
-
-	/**
-	 * Removes the given elements from the table.
-	 * 
-	 * @param elements
-	 */
-	public void remove(Object[] elements) {
-		TableRemoveRequestMonitor update = new TableRemoveRequestMonitor(getRootNode(), elements, this);
-		requestScheduled(update);
-		update.done();
-	}	
-	
-	/**
-	 * Notification remove request is complete.
-	 * 
-	 * @param elements elements to remove
-	 */
-	protected void removed(Object[] elements) {
-		List kids = null;
-		boolean changed = false;
-    	synchronized (this) {
-    		ModelNode[] childrenNodes = getRootNode().getChildrenNodes();
-    		if (childrenNodes != null) {
-    			kids = new ArrayList(childrenNodes.length);
-    			for (int i = 0; i < childrenNodes.length; i++) {
-					kids.add(childrenNodes[i].getElement());
-				}
-    		}
-    		for (int i = 0; i < elements.length; i++) {
-    			if (kids.remove(elements[i])) {
-    				changed = true;
-    			}
-			}
-		}
-    	if (changed) {
-    		setChildren(getRootNode(), kids);
-    	}
-	}	
-	
-	/**
-	 * Adds the given elements to the table.
-	 * 
-	 * @param elements
-	 */
-	public void replace(Object element, Object replacement) {
-		TableReplaceRequestMonitor update = new TableReplaceRequestMonitor(getRootNode(), element, replacement, this);
-		requestScheduled(update);
-		update.done();
-	}
-	
-	/**
-	 * Notification add request is complete.
-	 * 
-	 * @param elements elements to add
-	 */
-	protected void replaced(Object element, Object replacement) {
-        Object[] filtered = filter(getRootNode().getElement(), new Object[] { replacement });
-        if (filtered.length == 0) {
-            remove(new Object[]{element});
-            return;
-        }		
-		List list = new ArrayList();
-    	synchronized (this) {
-    		ModelNode[] nodes = getNodes(element);
-    		for (int i = 0; i < nodes.length; i++) {
-				ModelNode node = nodes[i];
-				node.remap(replacement);
-				list.add(node);
-			}
-		}
-    	if (!list.isEmpty()) {
-    		Iterator iterator = list.iterator();
-    		while (iterator.hasNext()) {
-    			ModelNode node = (ModelNode) iterator.next();
-    			getViewer().nodeChanged(node);
-    		}
-    	}
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java
deleted file mode 100644
index a07c59c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java
+++ /dev/null
@@ -1,517 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * @since 3.2
- */
-public class AsynchronousTableViewer extends AsynchronousViewer implements Listener {
-
-    private Table fTable;
-
-    private TableEditor fTableEditor;
-
-    private TableEditorImpl fTableEditorImpl;
-
-    public AsynchronousTableViewer(Composite parent) {
-        this(parent, SWT.VIRTUAL);
-    }
-
-    public AsynchronousTableViewer(Composite parent, int style) {
-        this(new Table(parent, style));
-    }
-
-    /**
-     * Table must be SWT.VIRTUAL. This is intentional. Labels will never be
-     * retrieved for non-visible items.
-     * 
-     * @see SWT.VIRTUAL
-     * @param table
-     */
-    public AsynchronousTableViewer(Table table) {
-        Assert.isTrue((table.getStyle() & SWT.VIRTUAL) != 0);
-        fTable = table;
-        hookControl(fTable);
-        fTableEditor = new TableEditor(fTable);
-        fTableEditorImpl = createTableEditorImpl();
-    }
-
-    protected void hookControl(Control control) {
-        super.hookControl(control);
-        control.addMouseListener(new MouseAdapter() {
-            public void mouseDown(MouseEvent e) {
-                fTableEditorImpl.handleMouseDown(e);
-            }
-        });      
-    }
-
-    public synchronized void dispose() {
-        fTable.dispose();
-        fTableEditor.dispose();
-        super.dispose();
-    }  
-
-    protected ISelection doAttemptSelectionToWidget(ISelection selection, boolean reveal) {
-        if (acceptsSelection(selection)) {
-            List list = ((IStructuredSelection) selection).toList();
-            if (list == null) {
-                fTable.deselectAll();
-                return StructuredSelection.EMPTY;
-            }
-
-            int[] indices = new int[list.size()];
-            ModelNode[] nodes = getModel().getRootNode().getChildrenNodes();
-            if (nodes != null) {
-	            int index = 0;
-	
-	            // I'm not sure if it would be faster to check TableItems first...
-	            for (int i = 0; i < nodes.length; i++) {
-	                Object element = nodes[i].getElement();
-	                if (list.contains(element)) {
-	                    indices[index] = i;
-	                    index++;
-	                }
-	            }
-	
-	            fTable.setSelection(indices);
-	            if (reveal && indices.length > 0) {
-	                TableItem item = fTable.getItem(indices[0]);
-	                fTable.showItem(item);
-	            }
-            }
-        }
-        return StructuredSelection.EMPTY;
-    }
-
-    protected boolean acceptsSelection(ISelection selection) {
-        return selection instanceof IStructuredSelection;
-    }
-
-    protected ISelection getEmptySelection() {
-        return StructuredSelection.EMPTY;
-    }
-
-    protected Widget getParent(Widget widget) {
-        if (widget instanceof TableItem) {
-            return fTable;
-        }
-        return null;
-    }
-
-    protected List getSelectionFromWidget() {
-        TableItem[] selection = fTable.getSelection();
-        List datas = new ArrayList(selection.length);
-        for (int i = 0; i < selection.length; i++) {
-            datas.add(selection[i].getData());
-        }
-        return datas;
-    }
-
-    public Control getControl() {
-        return fTable;
-    }
-
-    public Table getTable() {
-        return (Table) getControl();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#internalRefresh(org.eclipse.debug.internal.ui.model.viewers.ModelNode)
-     */
-    protected void internalRefresh(ModelNode node) {
-        super.internalRefresh(node);
-        if (node.getElement().equals(getInput())) {
-            updateChildren(node);
-        }
-    } 
-
-    protected void restoreLabels(Item item) {
-    	TableItem tableItem = (TableItem) item;
-    	String[] values = (String[]) tableItem.getData(OLD_LABEL);
-    	Image[] images = (Image[]) tableItem.getData(OLD_IMAGE);
-		if (values != null) {
-			tableItem.setText(values);
-			tableItem.setImage(images);
-		}
-	}
-
-	public void setLabels(Widget widget, String[] labels, ImageDescriptor[] imageDescriptors) {
-        TableItem item = (TableItem) widget;
-        item.setText(labels);
-        item.setData(OLD_LABEL, labels);
-        Image[] images = new Image[labels.length];
-        item.setData(OLD_IMAGE, images);
-        if (imageDescriptors != null) {
-            for (int i = 0; i < images.length; i++) {
-                if (i < imageDescriptors.length)
-                    images[i] = getImage(imageDescriptors[i]);
-            }
-        }
-        item.setImage(images);
-    }
-
-    public void setColors(Widget widget, RGB[] foregrounds, RGB[] backgrounds) {
-        TableItem item = (TableItem) widget;
-        if (foregrounds == null) {
-            foregrounds = new RGB[fTable.getColumnCount()];
-        }
-        if (backgrounds == null) {
-            backgrounds = new RGB[fTable.getColumnCount()];
-        }
-
-        for (int i = 0; i < foregrounds.length; i++) {
-            Color fg = getColor(foregrounds[i]);
-            item.setForeground(i, fg);
-        }
-        for (int i = 0; i < backgrounds.length; i++) {
-            Color bg = getColor(backgrounds[i]);
-            item.setBackground(i, bg);
-        }
-    }
-
-    public void setFonts(Widget widget, FontData[] fontDatas) {
-        TableItem item = (TableItem) widget;
-        if (fontDatas != null) {
-            for (int i = 0; i < fontDatas.length; i++) {
-                Font font = getFont(fontDatas[i]);
-                item.setFont(i, font);
-            }
-        }
-    }
-
-    public void setColumnHeaders(final String[] headers) {
-        fTableEditorImpl.setColumnProperties(headers);
-    }
-
-    public Object[] getColumnProperties() {
-        return fTableEditorImpl.getColumnProperties();
-    }
-
-    public void showColumnHeader(final boolean showHeaders) {
-        WorkbenchJob job = new WorkbenchJob("Set Header Visibility") { //$NON-NLS-1$
-            public IStatus runInUIThread(IProgressMonitor monitor) {
-            	if (!fTable.isDisposed())
-            	{
-            		fTable.setHeaderVisible(showHeaders);
-            	}
-                return Status.OK_STATUS;
-            }
-        };
-        job.setPriority(Job.INTERACTIVE);
-        job.setSystem(true);
-        job.schedule();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.StructuredViewer#reveal(java.lang.Object)
-     */
-    public void reveal(Object element) {
-        Assert.isNotNull(element);
-        Widget w = findItem(element);
-        if (w instanceof TableItem)
-            getTable().showItem((TableItem) w);
-    }
-
-    /**
-     * Sets the cell editors of this table viewer.
-     * 
-     * @param editors
-     *            the list of cell editors
-     */
-    public void setCellEditors(CellEditor[] editors) {
-        fTableEditorImpl.setCellEditors(editors);
-    }
-
-    /**
-     * Sets the cell modifier of this table viewer.
-     * 
-     * @param modifier
-     *            the cell modifier
-     */
-    public void setCellModifier(ICellModifier modifier) {
-        fTableEditorImpl.setCellModifier(modifier);
-    }
-
-    protected TableEditorImpl createTableEditorImpl() {
-        return new TableEditorImpl(this) {
-            Rectangle getBounds(Item item, int columnNumber) {
-                return ((TableItem) item).getBounds(columnNumber);
-            }
-
-            int getColumnCount() {
-                return getTable().getColumnCount();
-            }
-
-            Item[] getSelection() {
-                return getTable().getSelection();
-            }
-
-            void setEditor(Control w, Item item, int columnNumber) {
-                fTableEditor.setEditor(w, (TableItem) item, columnNumber);
-            }
-
-            void setSelection(StructuredSelection selection, boolean b) {
-                AsynchronousTableViewer.this.setSelection(selection, b);
-            }
-
-            void showSelection() {
-                getTable().showSelection();
-            }
-
-            void setLayoutData(CellEditor.LayoutData layoutData) {
-                fTableEditor.grabHorizontal = layoutData.grabHorizontal;
-                fTableEditor.horizontalAlignment = layoutData.horizontalAlignment;
-                fTableEditor.minimumWidth = layoutData.minimumWidth;
-            }
-
-            void handleDoubleClickEvent() {
-                Viewer viewer = getViewer();
-                fireDoubleClick(new DoubleClickEvent(viewer, viewer.getSelection()));
-                fireOpen(new OpenEvent(viewer, viewer.getSelection()));
-            }
-        };
-    }
-
-    protected ISelection newSelectionFromWidget() {
-        Control control = getControl();
-        if (control == null || control.isDisposed()) {
-            return StructuredSelection.EMPTY;
-        }
-        List list = getSelectionFromWidget();
-        return new StructuredSelection(list);
-    }
-
-    public CellEditor[] getCellEditors() {
-        return fTableEditorImpl.getCellEditors();
-    }
-
-    public ICellModifier getCellModifier() {
-        return fTableEditorImpl.getCellModifier();
-    }
-
-    public boolean isCellEditorActive() {
-        return fTableEditorImpl.isCellEditorActive();
-    }
-
-    /**
-     * This is not asynchronous. This method must be called in the UI Thread.
-     */
-    public void cancelEditing() {
-        fTableEditorImpl.cancelEditing();
-    }
-
-    /**
-     * This is not asynchronous. This method must be called in the UI Thread.
-     * 
-     * @param element
-     *            The element to edit. Each element maps to a row in the Table.
-     * @param column
-     *            The column to edit
-     */
-    public void editElement(Object element, int column) {
-        fTableEditorImpl.editElement(element, column);
-    }
-
-    protected int indexForElement(Object element) {
-        ViewerSorter sorter = getSorter();
-        if (sorter == null)
-            return fTable.getItemCount();
-        int count = fTable.getItemCount();
-        int min = 0, max = count - 1;
-        while (min <= max) {
-            int mid = (min + max) / 2;
-            Object data = fTable.getItem(mid).getData();
-            int compare = sorter.compare(this, data, element);
-            if (compare == 0) {
-                // find first item > element
-                while (compare == 0) {
-                    ++mid;
-                    if (mid >= count) {
-                        break;
-                    }
-                    data = fTable.getItem(mid).getData();
-                    compare = sorter.compare(this, data, element);
-                }
-                return mid;
-            }
-            if (compare < 0)
-                min = mid + 1;
-            else
-                max = mid - 1;
-        }
-        return min;
-    }
-
-    public void add(Object element) {
-        if (element != null)
-            add(new Object[] { element });
-    }
-
-    public void add(Object[] elements) {
-        if (elements == null || elements.length == 0)
-            return; // done
-        ((AsynchronousTableModel)getModel()).add(elements);
-    }
-
-    public void remove(Object element) {
-        if (element != null)
-            remove(new Object[] { element });
-    }
-
-    public void remove(final Object[] elements) {
-        if (elements == null || elements.length == 0)
-            return; // done
-        ((AsynchronousTableModel)getModel()).remove(elements);
-    }
-
-    public void insert(Object element, int position) {
-        if (element != null)
-            insert(new Object[] { element }, position);
-    }
-
-    public void insert(Object[] elements, int position) {
-        if (elements == null || elements.length == 0)
-            return;
-        ((AsynchronousTableModel)getModel()).insert(elements, position);
-    }
-
-    public void replace(Object element, Object replacement) {
-        if (element == null || replacement == null)
-            throw new IllegalArgumentException("unexpected null parameter"); //$NON-NLS-1$
-        ((AsynchronousTableModel)getModel()).replace(element, replacement);
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#createModel()
-	 */
-	protected AsynchronousModel createModel() {
-		return new AsynchronousTableModel(this);
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#setItemCount(org.eclipse.swt.widgets.Widget, int)
-     */
-    protected void setItemCount(Widget parent, int itemCount) {
-		fTable.setItemCount(itemCount);
-	}  
-
-	protected int getVisibleItemCount(int top) {
-        int itemCount = fTable.getItemCount();
-        return Math.min((fTable.getBounds().height / fTable.getItemHeight()) + 2, itemCount - top);
-    }   
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#createUpdatePolicy()
-	 */
-	public AbstractUpdatePolicy createUpdatePolicy() {
-		return new TableUpdatePolicy();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#getParentWidget(org.eclipse.swt.widgets.Widget)
-	 */
-	protected Widget getParentWidget(Widget widget) {
-		if (widget instanceof TableItem) {
-			return ((TableItem)widget).getParent();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#getChildWidget(org.eclipse.swt.widgets.Widget, int)
-	 */
-	protected Widget getChildWidget(Widget parent, int index) {
-		if (index < fTable.getItemCount()) {
-			return fTable.getItem(index);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#clear(org.eclipse.swt.widgets.Widget)
-	 */
-	protected void clear(Widget item) {
-		if (item instanceof TableItem) {
-			int i = fTable.indexOf((TableItem)item);
-			if (i >= 0) {
-				fTable.clear(i);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousViewer#clearChild(org.eclipse.swt.widgets.Widget, int)
-	 */
-	protected void clearChild(Widget parent, int childIndex) {
-		if (parent instanceof Table) {
-			fTable.clear(childIndex);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousViewer#clearChildren(org.eclipse.swt.widgets.Widget)
-	 */
-	protected void clearChildren(Widget item) {
-		if (item instanceof Table) {
-			fTable.clearAll();
-		}	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousViewer#indexOf(org.eclipse.swt.widgets.Widget, org.eclipse.swt.widgets.Widget)
-	 */
-	protected int indexOf(Widget parent, Widget child) {
-		if (parent instanceof Table) {
-			return ((Table)parent).indexOf((TableItem)child);
-		}
-		return -1;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeModel.java
deleted file mode 100644
index 1de61a6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeModel.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IContainerRequestMonitor;
-import org.eclipse.jface.viewers.TreePath;
-
-
-/**
- * Model for an asynchronous tree
- * 
- * @since 3.2
- */
-public class AsynchronousTreeModel extends AsynchronousModel {
-
-	/**
-	 * Constructs a new empty tree model
-	 * 
-	 * @param viewer associated viewer
-	 */
-	public AsynchronousTreeModel(AsynchronousViewer viewer) {
-		super(viewer);
-	}
-	
-	/**
-	 * Adds the given path to this model
-	 * 
-	 * @param treePath
-	 */
-	public synchronized void add(TreePath treePath) {
-		if (treePath.getSegmentCount() > 1) {
-	        int parentIndex = treePath.getSegmentCount() - 2;
-	        Object parent = treePath.getSegment(parentIndex);
-
-	        // find the paths to the parent, if it's present
-	        ModelNode[] nodes = getNodes(parent);
-	        if (nodes != null) {
-	            // find the right node
-	            for (int i = 0; i < nodes.length; i++) {
-	                ModelNode node = nodes[i];
-	                if (treePath.startsWith(node.getTreePath(), null)) {
-	                    AddRequestMonitor addRequest = new AddRequestMonitor(node, treePath, this);
-	                    requestScheduled(addRequest);
-	                    addRequest.done();
-	                    return;
-	                }
-	            }
-	        }
-	        // refresh the leaf parent, if any
-	        for (int i = parentIndex - 1; i >= 0; i--) {
-	            parent = treePath.getSegment(i);
-	            nodes = getNodes(parent);
-	            if (nodes != null) {
-	                for (int j = 0; j < nodes.length; j++) {
-	                    final ModelNode node = nodes[j];
-	                    if (treePath.startsWith(node.getTreePath(), null)) {
-	                    	Runnable runnable = new Runnable() {
-								public void run() {
-									getViewer().nodeChanged(node);
-								}
-							};
-	                        getViewer().getControl().getDisplay().asyncExec(runnable);
-	                        return;
-	                    }
-	                }
-	            }
-	        }
-		}
-	}
-	
-    /**
-     * Removes the item specified in the given tree path from this model.
-     * 
-     * @param treePath
-     */
-    public synchronized void remove(TreePath treePath) {
-        if (treePath.getSegmentCount() > 1) {
-            // find the paths to the element, if it's present
-            Object element = treePath.getLastSegment();
-            ModelNode[] nodes = getNodes(element);
-            if (nodes != null) {
-                // find the right node
-                for (int i = 0; i < nodes.length; i++) {
-                    ModelNode node = nodes[i];
-                    if (node.correspondsTo(treePath)) {
-                        RemoveRequestMonitor request = new RemoveRequestMonitor(node, treePath, this);
-                        requestScheduled(request);
-                        request.done();
-                        return;
-                    }
-                }
-            }
-            // find the first parent present, and update its children
-            // to avoid a pending add in the subtree adding something
-            // that has been removed
-            int index = treePath.getSegmentCount() - 2;
-            while (index > 0) {
-	            element = treePath.getSegment(index);
-	            nodes  = getNodes(element);
-	            if (nodes != null) {
-	                // find the right node
-	                for (int i = 0; i < nodes.length; i++) {
-	                    ModelNode node = nodes[i];
-	                    if (treePath.startsWith(node.getTreePath(), null)) {
-	                    	updateChildren(node);
-	                        return;
-	                    }
-	                }
-	            }
-	            index--;
-            }
-        }
-    }	
-    
-    /**
-     * Callback from async request to remove a node.
-     * 
-     * @param node
-     */
-    protected void remove(final ModelNode node) {
-        final ModelNode parentNode = node.getParentNode();
-        if (parentNode == null) {
-            return;
-        }
-        int index = -1;
-        synchronized (this) {
-        	index = parentNode.getChildIndex(node);
-            parentNode.removeChild(node);
-            unmapNode(node);
-            node.dispose();
-            if (DEBUG_MODEL) {
-            	DebugUIPlugin.debug("REMOVE: " + node);   //$NON-NLS-1$
-            	DebugUIPlugin.debug(toString());
-            }
-        }
-        final int unmapFrom = index;
-        final AsynchronousTreeViewer viewer = getTreeViewer();
-        preservingSelection(new Runnable() {
-			public void run() {
-				// unmap the removed node and all children that were shifted
-				viewer.unmapNode(node);
-				if (unmapFrom > -1) {
-					ModelNode[] childrenNodes = parentNode.getChildrenNodes();
-					for (int i = unmapFrom; i < childrenNodes.length; i++) {
-						viewer.unmapNode(childrenNodes[i]);
-					}
-				}
-		        viewer.nodeChildRemoved(parentNode, unmapFrom);
-			}
-		});
-    }
-	
-    /**
-     * Asynchronous update for add request.
-     * 
-     * @param parent
-     * @param element
-     */
-	protected void add(final ModelNode parent, Object element) {
-        Object[] children = filter(parent.getElement(), new Object[] { element });
-        if (children.length == 0) {
-            return; // added element was filtered out.
-        }
-        synchronized (this) {
-        	ModelNode[] childrenNodes = parent.getChildrenNodes();
-        	if (childrenNodes != null) {
-        		for (int i = 0; i < childrenNodes.length; i++) {
-        			if (element.equals(childrenNodes[i].getElement()))
-        				return; //already added to the tree (probably via a refresh)
-        		}
-        	}
-            ModelNode node = new ModelNode(parent, element);
-            parent.addChild(node);
-            mapElement(element, node);
-            if (DEBUG_MODEL) {
-            	DebugUIPlugin.debug("ADD: (parent) " + parent + " (child) " + element);   //$NON-NLS-1$//$NON-NLS-2$
-            	DebugUIPlugin.debug(toString());
-            }
-        }
-        //TODO sort???
-        // notify the viewer to update
-        
-        preservingSelection(new Runnable() {
-			public void run() {
-				getTreeViewer().nodeChildrenAdded(parent);
-			}
-		});
-        		
-	}
-	
-    /**
-     * Returns all paths to the given element or <code>null</code> if none.
-     * 
-     * @param element model element
-     * @return paths to the given element or <code>null</code>
-     */
-    public synchronized TreePath[] getTreePaths(Object element) {
-        ModelNode[] nodes = getNodes(element);
-        if (nodes == null) {
-            return null;
-        }
-        TreePath[] paths = new TreePath[nodes.length];
-        for (int i = 0; i < nodes.length; i++) {
-            paths[i] = nodes[i].getTreePath();
-        }
-        return paths;
-    }	
-	
-    protected AsynchronousTreeViewer getTreeViewer() {
-    	return (AsynchronousTreeViewer) getViewer();
-    }
-    
-    /**
-     * Updates whether the given node has children.
-     * 
-     * @param node
-     *            node to update
-     */
-    protected void updateHasChildren(ModelNode node) {
-        Object element = node.getElement();
-        IAsynchronousContentAdapter adapter = getContentAdapter(element);
-        if (adapter == null) {
-        	adapter = fEmptyContentAdapter;
-        }
-        if (adapter != null) {
-            IContainerRequestMonitor update = new ContainerRequestMonitor(node, this);
-            requestScheduled(update);
-            adapter.isContainer(element, getPresentationContext(), update);
-        }
-    }  
-
-    /* (non-Javadoc)
-     * 
-     * Also unmaps chidren
-     * 
-     * @see org.eclipse.debug.internal.ui.viewers.AsynchronousModel#unmapNode(org.eclipse.debug.internal.ui.viewers.ModelNode)
-     */
-    protected synchronized void unmapNode(ModelNode node) {
-        ModelNode[] childrenNodes = node.getChildrenNodes();
-        if (childrenNodes != null) {
-            for (int i = 0; i < childrenNodes.length; i++) {
-                unmapNode(childrenNodes[i]);
-            }
-        }
-        super.unmapNode(node);
-    }    
-    
-    /**
-     * Called by <code>ContainerRequestMonitor</code> after it is determined
-     * if the node contains children.
-     * 
-     * @param node
-     * @param containsChildren
-     */
-     void setIsContainer(final ModelNode node, boolean containsChildren) {
-    	ModelNode[] unmapChildren = null;
-    	synchronized (this) {
-    		ModelNode[] prevChildren = node.getChildrenNodes();
-			node.setIsContainer(containsChildren);
-			if (!containsChildren && prevChildren != null) {
-				unmapChildren = prevChildren;
-                for (int i = 0; i < prevChildren.length; i++) {
-                    ModelNode child = prevChildren[i];
-                    unmapNode(child);
-                    child.dispose();
-                }
-                node.setChildren(null);
-			}
-			if (DEBUG_MODEL) {
-				DebugUIPlugin.debug("SET CONTAINER: " + node); //$NON-NLS-1$
-				DebugUIPlugin.debug(toString());
-			}
-		}
-//    	 update tree outside lock
-    	final ModelNode[] finalUnmap = unmapChildren;
-    	preservingSelection(new Runnable() {
-			public void run() {
-				if (finalUnmap != null) {
-					for (int i = 0; i < finalUnmap.length; i++) {
-						getViewer().unmapNode(finalUnmap[i]);
-					}
-				}
-		    	getTreeViewer().nodeContainerChanged(node);
-		    	getViewer().nodeChildrenChanged(node);
-			}
-		});
-    	
-    }    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeNavigationDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeNavigationDialog.java
deleted file mode 100644
index 08ba1af..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeNavigationDialog.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-/**
- * A dialog used to navigate to an element in an asynchronous
- * tree viewer. Must be created on corresponding label provider.
- * 
- * @since 3.2
- *
- */
-public class AsynchronousTreeNavigationDialog extends ElementListSelectionDialog {
-	
-	/**
-	 * Constructs a dialog to navigate to an element in the given viewer.
-	 * 
-	 * @param viewer
-	 * @param provider
-	 */
-	public AsynchronousTreeNavigationDialog(Shell shell, ILabelProvider provider, Object[] elements) {
-		super(shell, provider);
-		setElements(elements);
-		setMultipleSelection(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.ElementListSelectionDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Control comp = super.createDialogArea(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IDebugHelpContextIds.FIND_ELEMENT_DIALOG);
-		return comp;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeViewer.java
deleted file mode 100644
index 151706d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeViewer.java
+++ /dev/null
@@ -1,1636 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousLabelAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditorFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentationFactoryAdapter;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TreeEditor;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.TreeEvent;
-import org.eclipse.swt.events.TreeListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * A tree viewer that retrieves children and labels asynchronously via adapters
- * and supports duplicate elements in the tree with different parents.
- * Retrieving children and labels asynchrnously allows for arbitrary latency
- * without blocking the UI thread.
- * <p>
- * Clients may instantiate and subclass this class.
- * </p>
- * 
- * @since 3.2
- */
-public class AsynchronousTreeViewer extends AsynchronousViewer {
-
-	/**
-     * The tree
-     */
-    private Tree fTree;
-    
-    /**
-     * Cell editing
-     */
-    private TreeEditorImpl fTreeEditorImpl;
-    private TreeEditor fTreeEditor;
-
-    /**
-     * Collection of tree paths to be expanded. A path is removed from the
-     * collection when it is expanded. The entire list is cleared when the input
-     * to the viewer changes.
-     */
-    private List fPendingExpansion = new ArrayList();
-    
-    /**
-     * Current column presentation or <code>null</code>
-     */
-    private IColumnPresentation fColumnPresentation = null;
-    
-    /**
-     * Current column editor or <code>null</code>
-     */
-    private IColumnEditor fColumnEditor = null;
-    
-    /**
-     * Map of columns presentation id to its visible colums ids (String[])
-     * When a columns presentation is not in the map, default settings are used.
-     */
-    private Map fVisibleColumns = new HashMap();
-    
-    /**
-     * Map of column ids to persisted sizes
-     */
-    private Map fColumnSizes = new HashMap();
-    
-    /**
-     * Map of column presentation id to whether columns should be displayed
-     * for that presentation (the user can toggle columns on/off when a 
-     * presentation is optional.
-     */
-    private Map fShowColumns = new HashMap();
-        
-    /**
-	 * Memento type for column sizes. Sizes are keyed by colunm presentation id 
-	 */
-	private static final String COLUMN_SIZES = "COLUMN_SIZES"; //$NON-NLS-1$
-	/**
-	 * Memento type for the visible columns for a presentation context.
-	 * A memento is created for each colunm presentation keyed by column number
-	 */
-	private static final String VISIBLE_COLUMNS = "VISIBLE_COLUMNS";     //$NON-NLS-1$
-	/**
-	 * Memento type for whether columns are visible for a presentation context.
-	 * Booleans are keyed by column presentation id
-	 */
-	private static final String SHOW_COLUMNS = "SHOW_COLUMNS";     //$NON-NLS-1$	
-	/**
-	 * Memento key for the number of visible columns in a VISIBLE_COLUMNS memento
-	 * or for the width of a column
-	 */
-	private static final String SIZE = "SIZE";	 //$NON-NLS-1$
-	/**
-	 * Memento key prefix a visible column
-	 */
-	private static final String COLUMN = "COLUMN";	 //$NON-NLS-1$	
-	
-	/**
-	 * Persist column sizes when they change.
-	 * 
-	 * @since 3.2
-	 */
-	class ColumnListener implements ControlListener {
-		/* (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) {
-			persistColumnSizes();
-		}
-	}
-	
-	private ColumnListener fListener = new ColumnListener();
-    
-    /**
-     * Creates an asynchronous tree viewer on a newly-created tree control under
-     * the given parent. The tree control is created using the SWT style bits
-     * <code>MULTI, H_SCROLL, V_SCROLL,</code> and <code>BORDER</code>. The
-     * viewer has no input, no content provider, a default label provider, no
-     * sorter, and no filters.
-     * 
-     * @param parent
-     *            the parent control
-     */
-    public AsynchronousTreeViewer(Composite parent) {
-        this(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL);
-    }
-
-    /**
-     * Creates an asynchronous tree viewer on a newly-created tree control under
-     * the given parent. The tree control is created using the given SWT style
-     * bits. The viewer has no input.
-     * 
-     * @param parent
-     *            the parent control
-     * @param style
-     *            the SWT style bits used to create the tree.
-     */
-    public AsynchronousTreeViewer(Composite parent, int style) {
-        this(new Tree(parent, style));
-    }
-
-    /**
-     * Creates an asynchronous tree viewer on the given tree control. The viewer
-     * has no input, no content provider, a default label provider, no sorter,
-     * and no filters.
-     * 
-     * @param tree
-     *            the tree control
-     */
-    public AsynchronousTreeViewer(Tree tree) {
-        super();
-        Assert.isTrue((tree.getStyle() & SWT.VIRTUAL) != 0);
-        fTree = tree;
-        hookControl(fTree);
-        fTreeEditor = new TreeEditor(tree);
-		initTreeViewerImpl();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.StructuredViewer#hookControl(org.eclipse.swt.widgets.Control)
-     */
-    protected void hookControl(Control control) {
-		super.hookControl(control);
-		Tree tree = (Tree)control;
-        tree.addMouseListener(new MouseAdapter() {
-            public void mouseDown(MouseEvent e) {
-            	if (isShowColumns()) {
-	            	Item[] items = fTreeEditorImpl.getSelection();
-	            	if (items.length > 0) {
-	            		TreeItem treeItem = (TreeItem) items[0];	            		
-		            	if (treeItem != null) { 
-		            		Object element = treeItem.getData();
-		            		updateColumnEditor(element);
-		            		if (fColumnEditor != null) {
-				            	int columnToEdit = -1;
-				                int columns = fTree.getColumnCount();
-				                if (columns == 0) {
-				                    // If no TreeColumn, Tree acts as if it has a single column
-				                    // which takes the whole width.
-				                    columnToEdit = 0;
-				                } else {
-				                    columnToEdit = -1;
-				                    for (int i = 0; i < columns; i++) {
-				                        Rectangle bounds = fTreeEditorImpl.getBounds(treeItem, i);
-				                        if (bounds.contains(e.x, e.y)) {
-				                            columnToEdit = i;
-				                            break;
-				                        }
-				                    }
-				                    if (columnToEdit == -1) {
-				                        return;
-				                    }
-				                }
-				                CellEditor cellEditor = fColumnEditor.getCellEditor(getVisibleColumns()[columnToEdit], element, fTree);
-				                if (cellEditor == null) {
-				                	return;
-				                }
-				                disposeCellEditors();
-				                CellEditor[] newEditors = new CellEditor[columns];
-				                newEditors[columnToEdit] = cellEditor;
-				                setCellEditors(newEditors);
-				                setCellModifier(fColumnEditor.getCellModifier());
-				                setColumnProperties(getVisibleColumns());
-		            		}
-		            	}
-	            	}
-            	}
-                
-                fTreeEditorImpl.handleMouseDown(e);
-            }
-        }); 		
-        tree.addTreeListener(new TreeListener() {
-            public void treeExpanded(TreeEvent e) {
-                ((TreeItem) e.item).setExpanded(true);
-                ModelNode node = findNode(e.item);
-                if (node != null) {
-					internalRefresh(node);
-                }
-            }
-
-            public void treeCollapsed(TreeEvent e) {
-            }
-        });
-
-        tree.addMouseListener(new MouseListener() {
-            public void mouseUp(MouseEvent e) {
-            }
-
-            public void mouseDown(MouseEvent e) {
-            }
-
-            public void mouseDoubleClick(MouseEvent e) {
-                TreeItem item = ((Tree) e.widget).getItem(new Point(e.x, e.y));
-                if (item != null) {
-                    if (item.getExpanded()) {
-                        item.setExpanded(false);
-                    } else {
-                        item.setExpanded(true);
-                        ModelNode node = findNode(item);
-                        if (node != null) {
-                        	internalRefresh(node);
-                        }
-                    }
-                }
-            }
-        });		
-	}
-
-    /**
-     * Sets the column editor for the given element
-     * 
-     * @param element
-     */
-    protected void updateColumnEditor(Object element) {
-    	IColumnEditorFactoryAdapter factoryAdapter = getColumnEditorFactoryAdapter(element);
-    	if (factoryAdapter != null) {    		
-    		if (fColumnEditor != null) {
-    			if (fColumnEditor.getId().equals(factoryAdapter.getColumnEditorId(getPresentationContext(), element))) {
-    				// no change
-    				return;
-    			} else {
-    				// dipose current
-    				fColumnEditor.dispose();
-    			}
-    		}
-   			// create new one
-			fColumnEditor = factoryAdapter.createColumnEditor(getPresentationContext(), element);
-			if (fColumnEditor != null) {
-				fColumnEditor.init(getPresentationContext());
-			}
-    	} else {
-    		// no editor - dispose current
-	    	if (fColumnEditor != null) {
-	    		fColumnEditor.dispose();
-	    		fColumnEditor = null;
-	    	}
-    	}
-    }
-    
-	/**
-     * Returns the tree control for this viewer.
-     * 
-     * @return the tree control for this viewer
-     */
-    public Tree getTree() {
-        return fTree;
-    }
-
-    /**
-     * Updates whether the given node has children.
-     * 
-     * @param node node to update
-     */
-    protected void updateHasChildren(ModelNode node) {
-        ((AsynchronousTreeModel)getModel()).updateHasChildren(node);
-    }
-
-    /**
-     * Expands all elements in the given tree selection.
-     * 
-     * @param selection
-     */
-    public synchronized void expand(ISelection selection) {
-        if (selection instanceof TreeSelection) {
-            TreePath[] paths = ((TreeSelection) selection).getPaths();
-            for (int i = 0; i < paths.length; i++) {
-                fPendingExpansion.add(paths[i]);
-            }
-            if (getControl().getDisplay().getThread() == Thread.currentThread()) {
-                attemptExpansion();
-            } else {
-                WorkbenchJob job = new WorkbenchJob("attemptExpansion") { //$NON-NLS-1$
-                    public IStatus runInUIThread(IProgressMonitor monitor) {
-                        attemptExpansion();
-                        return Status.OK_STATUS;
-                    }
-
-                };
-                job.setSystem(true);
-                job.schedule();
-            }
-        }
-    }
-
-    /**
-     * Attempts to expand all pending expansions.
-     */
-    synchronized void attemptExpansion() {
-        if (fPendingExpansion != null) {
-            for (Iterator i = fPendingExpansion.iterator(); i.hasNext();) {
-                TreePath path = (TreePath) i.next();
-                if (attemptExpansion(path)) {
-                    i.remove();
-                }
-            }
-        }
-    }
-
-    /**
-     * Attempts to expand the given tree path and returns whether the expansion
-     * was completed.
-     * 
-     * @param path path to expand
-     * @return whether the expansion was completed
-     */
-    synchronized boolean attemptExpansion(TreePath path) {
-        int segmentCount = path.getSegmentCount();
-        for (int j = segmentCount - 1; j >= 0; j--) {
-            Object element = path.getSegment(j);
-            ModelNode[] nodes = getModel().getNodes(element);
-            if (nodes != null) {
-                for (int k = 0; k < nodes.length; k++) {
-                    ModelNode node = nodes[k];
-                    TreePath treePath = node.getTreePath();
-                    if (path.startsWith(treePath, null)) {
-                        if (!node.isDisposed()) {
-                            Widget widget = findItem(node);
-                            if (widget == null) {
-                                // force the widgets to be mapped
-                                ModelNode parent = node.getParentNode();
-                                ModelNode child = node;
-                                widget = findItem(parent);
-                                while (widget == null && parent != null) {
-                                    child = parent;
-                                    parent = parent.getParentNode();
-                                    if (parent != null) {
-                                        widget = findItem(parent);
-                                        treePath = parent.getTreePath();
-                                    }
-                                }
-                                int childIndex = parent.getChildIndex(child);
-                                if (childIndex < 0) {
-                                    return false;
-                                }
-                                TreeItem[] items = getItems(widget);
-                                if (childIndex < items.length) {
-                                    widget = items[childIndex];
-                                    mapElement(child, widget);
-                                    widget.setData(child.getElement());
-                                    treePath = child.getTreePath();
-                                    node = child;
-                                } else {
-                                    return false;
-                                }
-                            }
-                            if (widget instanceof TreeItem && !widget.isDisposed()) {
-                                TreeItem treeItem = (TreeItem) widget;
-                                if (treeItem.getExpanded()) {
-                                    return path.getSegmentCount() == treePath.getSegmentCount();
-                                }
-                                if (treeItem.getItemCount() > 0) {
-                                    updateChildren(node);
-                                    expand(treeItem);
-                                    if (path.getSegmentCount() == treePath.getSegmentCount()) {
-                                        return true;
-                                    }
-                                    return false;
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        return false;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.Viewer#getControl()
-     */
-    public Control getControl() {
-        return fTree;
-    }
-
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.AsynchronousViewer#dispose()
-     */
-    public synchronized void dispose() {
-		if (fColumnPresentation != null) {
-			fColumnPresentation.dispose();
-		}
-		disposeCellEditors();
-		if (fColumnEditor != null) {
-			fColumnEditor.dispose();
-		}
-		super.dispose();
-	}
-
-    /**
-     * Disposes cell editors
-     */
-	protected void disposeCellEditors() {
-		CellEditor[] cellEditors = getCellEditors();
-		if (cellEditors != null) {
-			for (int i = 0; i < cellEditors.length; i++) {
-				CellEditor editor = cellEditors[i];
-				if (editor != null) {
-					editor.dispose();
-				}
-			}
-		}
-		setCellEditors(null);
-	}
-
-	/*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.Viewer#inputChanged(java.lang.Object,
-     *      java.lang.Object)
-     */
-    synchronized protected void inputChanged(Object input, Object oldInput) {
-        fPendingExpansion.clear();
-        super.inputChanged(input, oldInput);
-        resetColumns(input);
-    }
-    
-    /**
-     * Refreshes the columns in the view, based on the viewer input.
-     */
-    public void refreshColumns() {
-    	configureColumns();
-    	refresh();
-    }
-    
-    /**
-     * Configures the columns for the given viewer input.
-     * 
-     * @param input
-     */
-    protected void resetColumns(Object input) {
-    	if (input != null) {
-    		// only change columns if the input is non-null (persist when empty)
-	    	IColumnPresentationFactoryAdapter factory = getColumnPresenetationFactoryAdapter(input);
-	    	PresentationContext context = (PresentationContext) getPresentationContext();
-	    	String type = null;
-	    	if (factory != null) {
-	    		type = factory.getColumnPresentationId(context, input);
-	    	}
-			if (type != null) {
-				if (fColumnPresentation != null) {
-					if (!fColumnPresentation.getId().equals(type)) {
-						// dispose old, create new
-						fColumnPresentation.dispose();
-						fColumnPresentation = null;
-					}
-				}
-				if (fColumnPresentation == null) {
-					fColumnPresentation = factory.createColumnPresentation(context, input);
-					if (fColumnPresentation != null) {
-						fColumnPresentation.init(context);
-						configureColumns();
-					}
-				}
-			} else {
-				if (fColumnPresentation != null) {
-					fColumnPresentation.dispose();
-					fColumnPresentation = null;
-					configureColumns();
-				}
-			}
-    	}
-    }    
-    
-    /**
-     * Configures the columns based on the current settings.
-     * 
-     * @param input
-     */
-    protected void configureColumns() {
-    	if (fColumnPresentation != null) {
-			IColumnPresentation build = null;
-			if (isShowColumns(fColumnPresentation.getId())) {
-				build = fColumnPresentation;
-			}
-			buildColumns(build);					
-		} else {
-			// get rid of columns
-			buildColumns(null);
-		}
-    }
-    
-    /**
-     * Creates new columns for the given presentation.
-     * 
-     * TODO: does this need to be async?
-     * 
-     * @param presentation
-     */
-    protected void buildColumns(IColumnPresentation presentation) {
-    	// dispose current columns, persisting their weigts
-    	Tree tree = getTree();
-		final TreeColumn[] columns = tree.getColumns();
-		String[] visibleColumnIds = getVisibleColumns();
-    	for (int i = 0; i < columns.length; i++) {
-    		TreeColumn treeColumn = columns[i];
-    		treeColumn.removeControlListener(fListener);
-			treeColumn.dispose();
-		}
-    	PresentationContext presentationContext = (PresentationContext) getPresentationContext();
-    	if (presentation != null) {	    	
-	    	for (int i = 0; i < visibleColumnIds.length; i++) {
-				String id = visibleColumnIds[i];
-				String header = presentation.getHeader(id);
-				// TODO: allow client to specify style
-				TreeColumn column = new TreeColumn(tree, SWT.LEFT, i);
-				column.setMoveable(true);
-				column.setText(header);
-				column.setWidth(1);
-				ImageDescriptor image = presentation.getImageDescriptor(id);
-				if (image != null) {
-					column.setImage(getImage(image));
-				}
-				column.setData(id);
-			}
-	    	tree.setHeaderVisible(true);
-	    	tree.setLinesVisible(true);
-	    	presentationContext.setColumns(getVisibleColumns());
-    	} else {
-    		tree.setHeaderVisible(false);
-    		tree.setLinesVisible(false);
-    		presentationContext.setColumns(null);
-    	}
-
-    	int avg = tree.getSize().x;
-    	if (visibleColumnIds != null)
-    		avg /= visibleColumnIds.length;
-    	
-        if (avg == 0) {
-            tree.addPaintListener(new PaintListener() {
-                public void paintControl(PaintEvent e) {
-                    Tree tree2 = getTree();
-                    String[] visibleColumns = getVisibleColumns();
-                    if (visibleColumns != null) {
-						int avg1 = tree2.getSize().x / visibleColumns.length;
-	                    initColumns(avg1);
-                    }
-                    tree2.removePaintListener(this);
-                }
-            });
-        } else {
-            initColumns(avg);
-        }
-    }
-
-    private void initColumns(int widthHint) {
-        TreeColumn[] columns = getTree().getColumns();
-        for (int i = 0; i < columns.length; i++) {
-            TreeColumn treeColumn = columns[i];
-            Integer width = (Integer) fColumnSizes.get(treeColumn.getData());
-            if (width == null) {
-                treeColumn.setWidth(widthHint);
-            } else {
-                treeColumn.setWidth(width.intValue());
-            }
-            treeColumn.addControlListener(fListener);
-        }
-    }
-    /**
-     * Persists column sizes in cache
-     */
-    protected void persistColumnSizes() { 
-		Tree tree = getTree();
-		TreeColumn[] columns = tree.getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			TreeColumn treeColumn = columns[i];
-			Object id = treeColumn.getData();
-			fColumnSizes.put(id, new Integer(treeColumn.getWidth()));
-		}
-    }
-    
-    /**
-     * Returns the column presentation factory for the given element or <code>null</code>.
-     * 
-     * @param input
-     * @return column presentation factory of <code>null</code>
-     */
-    protected IColumnPresentationFactoryAdapter getColumnPresenetationFactoryAdapter(Object input) {
-    	if (input instanceof IColumnPresentationFactoryAdapter) {
-			return (IColumnPresentationFactoryAdapter) input;
-		}
-    	if (input instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) input;
-			return (IColumnPresentationFactoryAdapter) adaptable.getAdapter(IColumnPresentationFactoryAdapter.class);
-		}
-    	return null;
-    }
-    
-    /**
-     * Returns the column editor factory for the given element or <code>null</code>.
-     * 
-     * @param input
-     * @return column editor factory of <code>null</code>
-     */
-    protected IColumnEditorFactoryAdapter getColumnEditorFactoryAdapter(Object input) {
-    	if (input instanceof IColumnEditorFactoryAdapter) {
-			return (IColumnEditorFactoryAdapter) input;
-		}
-    	if (input instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) input;
-			return (IColumnEditorFactoryAdapter) adaptable.getAdapter(IColumnEditorFactoryAdapter.class);
-		}
-    	return null;
-    }    
-
-    /**
-     * Constructs and returns a tree path for the given item
-     * or <code>null</code>. Must be called
-     * from the UI thread.
-     * 
-     * @param item
-     *            item to constuct a path for
-     * @return tree path for the item or <code>null</code> if none
-     */
-    protected synchronized TreePath getTreePath(TreeItem item) {
-        TreeItem parent = item;
-        List path = new ArrayList();
-        while (parent != null && !parent.isDisposed()) {
-            Object parentElement = parent.getData();
-            if (parentElement == null) {
-            	// this is a fix for bug 139859:
-            	// on Mac, an item gets a 'selection' event before 'set data' when 
-            	// scrolling with arrow keys. so this forces the item to get a
-            	// 'set data' callback
-                parent.getItemCount(); 
-                parentElement = parent.getData();
-                if (parentElement == null)
-                    return null;
-            }
-			path.add(0, parentElement);
-            parent = parent.getParentItem();
-        }
-        Object data = fTree.getData();
-        if (data == null) {
-        	return null;
-        }
-		path.add(0, data);
-        return new TreePath(path.toArray());
-    }
-    
-    /**
-     * Returns the tree paths to the given element in this viewer, possibly
-     * empty.
-     * 
-     * @param element model element
-     * @return the paths to the element in this viewer
-     */
-    public TreePath[] getTreePaths(Object element) {
-        ModelNode[] nodes = getModel().getNodes(element);
-        if (nodes == null) {
-            return new TreePath[]{};
-        }
-        TreePath[] paths = new TreePath[nodes.length];
-        for (int i = 0; i < nodes.length; i++) {
-            paths[i] = nodes[i].getTreePath();
-        }
-        return paths;
-    }
-    
-    protected int getItemCount(Widget widget) {
-    	if (widget instanceof TreeItem) {
-			return ((TreeItem) widget).getItemCount();
-		}
-    	return ((Tree) widget).getItemCount();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#setItemCount(org.eclipse.swt.widgets.Widget, int)
-     */
-    protected void setItemCount(Widget widget, int itemCount) {
-        if (widget == fTree) {
-            fTree.setItemCount(itemCount);
-        } else {
-            ((TreeItem) widget).setItemCount(itemCount);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#getChildWidget(org.eclipse.swt.widgets.Widget, int)
-     */
-    protected Widget getChildWidget(Widget parent, int index) {
-		if (parent instanceof Tree) {
-			Tree tree = (Tree) parent;
-			if (index < tree.getItemCount()) {
-				return tree.getItem(index);
-			}
-		} else if (parent instanceof TreeItem){
-			TreeItem item = (TreeItem) parent;
-			if (index < item.getItemCount()) {
-				return item.getItem(index);
-			}
-		}
-		return null;
-	}
-
-	private TreeItem[] getItems(Widget widget) {
-        if (widget instanceof TreeItem) {
-            return ((TreeItem) widget).getItems();
-        } else {
-            return fTree.getItems();
-        }
-    }
-
-    /**
-     * Returns the parent widget for the given widget or <code>null</code>
-     * 
-     * @param widget
-     * @return parent widget or <code>null</code>
-     */
-    protected Widget getParentWidget(Widget widget) {
-    	if (widget instanceof TreeItem) {
-    		TreeItem parentItem = ((TreeItem)widget).getParentItem();
-    		if (parentItem == null) {
-    			return getControl();
-    		}
-    		return parentItem;
-    	}
-    	return null;
-    }
-    
-    
-    /**
-     * Expands the given tree item and all of its parents. Does *not* update
-     * elements or retrieve children.
-     * 
-     * @param child
-     *            item to expand
-     */
-    private void expand(TreeItem child) {
-        if (!child.getExpanded()) {
-            child.setExpanded(true);
-
-            TreeItem parent = child.getParentItem();
-            if (parent != null) {
-                expand(parent);
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#clear(org.eclipse.swt.widgets.Widget)
-     */
-    protected void clear(Widget widget) {
-        if (DEBUG_VIEWER) {
-            DebugUIPlugin.debug("CLEAR [" + widget + "]");  //$NON-NLS-1$//$NON-NLS-2$
-        }
-
-    	if (widget instanceof TreeItem && !widget.isDisposed()) {
-    		TreeItem item = (TreeItem) widget;
-    		TreeItem parentItem = item.getParentItem();
-    		if (parentItem == null) {
-    			int index = fTree.indexOf(item);
-                if (index >= 0)
-                    fTree.clear(index, true);
-    		} else {
-    			int index = parentItem.indexOf(item);
-                if (index >= 0)
-                    parentItem.clear(index, true);
-    		}
-    		item.clearAll(true);
-    	} else {
-    		fTree.clearAll(true);
-    	}
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.AsynchronousViewer#clearChildren(org.eclipse.swt.widgets.Widget)
-     */
-    protected void clearChildren(Widget widget) {
-        if (DEBUG_VIEWER) {
-            DebugUIPlugin.debug("CLEAR_CHILDREN [" + widget + "]");  //$NON-NLS-1$//$NON-NLS-2$
-        }
-
-    	if (widget instanceof TreeItem && !widget.isDisposed()) {
-			TreeItem item = (TreeItem) widget;
-			item.clearAll(true);
-		} else {
-			fTree.clearAll(true);
-		}
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.AsynchronousViewer#clearChild(org.eclipse.swt.widgets.Widget, int)
-     */
-    protected void clearChild(Widget parent, int childIndex) {
-        if (DEBUG_VIEWER) {
-            DebugUIPlugin.debug("CLEAR_CHILD [" + parent + "]: " + childIndex);  //$NON-NLS-1$//$NON-NLS-2$
-        }
-  
-       	if (parent instanceof TreeItem && !parent.isDisposed()) {
-    		TreeItem item = (TreeItem) parent;
-    		item.clear(childIndex, true);
-    	} else {
-    		fTree.clear(childIndex, true);
-    	}
-	}
-
-	/*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.internal.ui.viewers.AsynchronousModelViewer#newSelectionFromWidget()
-     */
-    protected ISelection newSelectionFromWidget() {
-        Control control = getControl();
-        if (control == null || control.isDisposed()) {
-            return StructuredSelection.EMPTY;
-        }
-        List list = getSelectionFromWidget();
-        return new TreeSelection((TreePath[]) list.toArray(new TreePath[list.size()]));
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.StructuredViewer#getSelectionFromWidget()
-     */
-    protected synchronized List getSelectionFromWidget() {
-        TreeItem[] selection = fTree.getSelection();
-        List paths = new ArrayList(selection.length);
-        for (int i = 0; i < selection.length; i++) {
-            TreePath treePath = getTreePath(selection[i]);
-            if (treePath != null) {
-            	paths.add(treePath);
-            }
-        }
-        return paths;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#internalRefresh(org.eclipse.debug.internal.ui.model.viewers.ModelNode)
-     */
-    protected void internalRefresh(ModelNode node) {
-        super.internalRefresh(node);
-        updateHasChildren(node);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.StructuredViewer#reveal(java.lang.Object)
-     */
-    public void reveal(Object element) {
-    	// TODO: in virtual case, we should attempt expansion
-        ModelNode[] nodes = getModel().getNodes(element);
-        if (nodes != null) {
-        	for (int i = 0; i < nodes.length; i++) {
-				ModelNode node = nodes[i];
-				Widget widget = findItem(node);
-				if (widget instanceof TreeItem) {
-		            // TODO: only reveals the first occurrence - should we reveal all?
-		            TreeItem item = (TreeItem) widget;
-		            Tree tree = (Tree) getControl();
-		            tree.showItem(item);			
-		            return;
-				}
-			}
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.viewers.AsynchronousViewer#doAttemptSelectionToWidget(org.eclipse.jface.viewers.ISelection,
-     *      boolean)
-     */
-    protected synchronized ISelection doAttemptSelectionToWidget(ISelection selection, boolean reveal) {
-        List remaining = new ArrayList();
-        if (!selection.isEmpty()) {
-            List toSelect = new ArrayList();
-            List theNodes = new ArrayList();
-            List theElements = new ArrayList();
-            TreeSelection treeSelection = (TreeSelection) selection;
-            TreePath[] paths = treeSelection.getPaths();
-            for (int i = 0; i < paths.length; i++) {
-                TreePath path = paths[i];
-                if (path == null) {
-                    continue;
-                }
-                ModelNode[] nodes = getModel().getNodes(path.getLastSegment());
-                boolean selected = false;
-                if (nodes != null) {
-                    for (int j = 0; j < nodes.length; j++) {
-                        ModelNode node = nodes[j];
-                        if (node.correspondsTo(path)) {
-                            Widget widget = findItem(node);
-                            if (widget != null && !widget.isDisposed()) {
-                                toSelect.add(widget);
-                                theNodes.add(node);
-                                theElements.add(path.getLastSegment());
-                                selected = true;
-                                break;
-                            }
-                        }
-                        // attempt to map widget
-                        ModelNode parent = node.getParentNode();
-                        ModelNode child = node;
-                        if (parent != null) {
-                        	Widget widget = findItem(parent);
-		                    if (widget != null && !widget.isDisposed()) {
-		                        int childIndex = parent.getChildIndex(child);
-		                        if (childIndex < 0) {
-		                            break;
-		                        }
-		                        TreeItem[] items = getItems(widget);
-		                        if (childIndex < items.length) {
-		                            widget = items[childIndex];
-		                            mapElement(child, widget);
-		                            widget.setData(child.getElement());
-		                            toSelect.add(widget);
-		                            theNodes.add(child);
-		                            theElements.add(child.getElement());
-		                            selected = true;
-		                        } else {
-		                            break;
-		                        }
-		                    }
-                        }
-                    }
-                }
-                if (!selected) {
-                    remaining.add(path);
-                }
-            }
-            if (!toSelect.isEmpty()) {
-                final TreeItem[] items = (TreeItem[]) toSelect.toArray(new TreeItem[toSelect.size()]);
-                // TODO: hack to ensure selection contains 'selected' element
-                // instead of 'equivalent' element. Handles synch problems
-                // between set selection & refresh
-                for (int i = 0; i < items.length; i++) {
-                    TreeItem item = items[i];
-                    Object element = theElements.get(i); 
-                    if (!item.isDisposed() && item.getData() != element) {
-                        ModelNode theNode = (ModelNode) theNodes.get(i);
-						Widget mapped = findItem(theNode);
-                        if (mapped == null) {
-                        	// the node has been unmapped from the widget (pushed down perhaps)
-                        	return selection;
-                        }
-                        theNode.remap(element);
-                        item.setData(element);
-                    }
-                }
-                fTree.setSelection(items);
-                if (reveal) {
-                    fTree.showItem(items[0]);
-                }
-            }
-        } else {
-            fTree.setSelection(new TreeItem[0]);
-        }
-        return new TreeSelection((TreePath[]) remaining.toArray(new TreePath[remaining.size()]));
-    }
-
-    /**
-     * Collapses all items in the tree.
-     */
-    public void collapseAll() {
-        TreeItem[] items = fTree.getItems();
-        for (int i = 0; i < items.length; i++) {
-            TreeItem item = items[i];
-            if (item.getExpanded())
-                collapse(item);
-        }
-    }
-
-    /**
-     * Collaspes the given item and all of its children items.
-     * 
-     * @param item
-     *            item to collapose recursively
-     */
-    protected void collapse(TreeItem item) {
-        TreeItem[] items = item.getItems();
-        for (int i = 0; i < items.length; i++) {
-            TreeItem child = items[i];
-            if (child.getExpanded()) {
-                collapse(child);
-            }
-        }
-        item.setExpanded(false);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.viewers.AsynchronousViewer#setColor(org.eclipse.swt.widgets.Widget,
-     *      org.eclipse.swt.graphics.RGB, org.eclipse.swt.graphics.RGB)
-     */
-    protected void setColors(Widget widget, RGB[] foregrounds, RGB[] backgrounds) {
-        if (widget instanceof TreeItem) {
-            TreeItem item = (TreeItem) widget;
-            Color[] fgs = getColors(foregrounds);
-            for (int i = 0; i < fgs.length; i++) {
-				item.setForeground(i, fgs[i]);
-			}
-            Color[] bgs = getColors(backgrounds);
-            for (int i = 0; i < bgs.length; i++) {
-                item.setBackground(i, bgs[i]);
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.viewers.AsynchronousViewer#setFont(org.eclipse.swt.widgets.Widget,
-     *      org.eclipse.swt.graphics.FontData)
-     */
-    protected void setFonts(Widget widget, FontData[] fontData) {
-        if (widget instanceof TreeItem) {
-            TreeItem item = (TreeItem) widget;
-            Font[] fonts = getFonts(fontData);
-            for (int i = 0; i < fonts.length; i++) {
-                item.setFont(i, fonts[i]);
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.viewers.AsynchronousViewer#acceptsSelection(org.eclipse.jface.viewers.ISelection)
-     */
-    protected boolean acceptsSelection(ISelection selection) {
-        return selection instanceof TreeSelection;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.viewers.AsynchronousViewer#getEmptySelection()
-     */
-    protected ISelection getEmptySelection() {
-        return new TreeSelection(new TreePath[0]);
-    }
-
-    /**
-     * Adds the item specified by the given tree path to this tree. Can be
-     * called in a non-UI thread.
-     * 
-     * @param treePath
-     */
-    public void add(TreePath treePath) {
-        ((AsynchronousTreeModel)getModel()).add(treePath);
-    }
-
-    /**
-     * Removes the item specified in the given tree path from this tree. Can be
-     * called in a non-UI thread.
-     * 
-     * @param treePath
-     */
-    public void remove(TreePath treePath) {
-        synchronized (this) {
-            for (Iterator i = fPendingExpansion.iterator(); i.hasNext();) {
-                TreePath expansionPath = (TreePath) i.next();
-                if (expansionPath.startsWith(treePath, null)) {
-                    i.remove();
-                }
-            }
-        }
-        ((AsynchronousTreeModel)getModel()).remove(treePath);
-    }
-
-    
-    protected void restoreLabels(Item item) {
-    	TreeItem treeItem = (TreeItem) item;
-    	String[] values = (String[]) treeItem.getData(OLD_LABEL);
-    	Image[] images = (Image[])treeItem.getData(OLD_IMAGE);
-		if (values != null) {
-			treeItem.setText(values);
-			treeItem.setImage(images);
-		}
-	}
-
-	protected void setLabels(Widget widget, String[] text, ImageDescriptor[] image) {
-        if (widget instanceof TreeItem) {
-            TreeItem item = (TreeItem) widget;
-            if (!item.isDisposed()) {
-                item.setText(text);
-                item.setData(OLD_LABEL, text);
-                Image[] images = getImages(image);
-				item.setImage(images);
-                item.setData(OLD_IMAGE, images);
-            }
-        }
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousModelViewer#createModel()
-	 */
-	protected AsynchronousModel createModel() {
-		return new AsynchronousTreeModel(this);
-	}
-    
-    /**
-	 * Attempt pending udpates. Subclasses may override but should call super.
-	 */
-    protected void attemptPendingUpdates() {
-    	attemptExpansion();
-    	super.attemptPendingUpdates();
-    }    
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#createUpdatePolicy()
-	 */
-	public AbstractUpdatePolicy createUpdatePolicy() {
-		return new TreeUpdatePolicy();
-	}
-
-	protected synchronized void unmapAllElements() {
-		super.unmapAllElements();
-		Tree tree = getTree();
-		if (!tree.isDisposed()) {
-			TreeItem[] items = tree.getItems();
-			for (int i = 0; i < items.length; i++) {
-				items[i].dispose();
-			}
-			clear(tree);
-		}
-	}
-	
-	/**
-	 * Returns the current column presentation for this viewer, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return column presentation or <code>null</code>
-	 */
-	public IColumnPresentation getColumnPresentation() {
-		return fColumnPresentation;
-	}
-	
-	/**
-	 * Returns identifiers of the visible columns in this viewer, or <code>null</code>
-	 * if there is currently no column presentation.
-	 *  
-	 * @return visible columns or <code>null</code>
-	 */
-	public String[] getVisibleColumns() {
-		IColumnPresentation presentation = getColumnPresentation();
-		if (presentation != null) {
-			String[] columns = (String[]) fVisibleColumns.get(presentation.getId());
-			if (columns == null) {
-				return presentation.getInitialColumns();
-			}
-			return columns;
-		}
-		return null;
-	}
-	
-	/**
-	 * Sets the ids of visible columns, or <code>null</code> to set default columns.
-	 * Only effects the current column presentation.
-	 * 
-	 * @param ids visible columns
-	 */
-	public void setVisibleColumns(String[] ids) {
-		IColumnPresentation presentation = getColumnPresentation();
-		if (presentation != null) {
-			fVisibleColumns.remove(presentation.getId());
-			if (ids != null) {
-				// put back in table if not default
-				String[] columns = presentation.getInitialColumns();
-				if (columns.length == ids.length) {
-					for (int i = 0; i < columns.length; i++) {
-						if (!ids[i].equals(columns[i])) {
-							fVisibleColumns.put(presentation.getId(), ids);
-							break;
-						}
-					}
-				} else {
-					fVisibleColumns.put(presentation.getId(), ids);
-				}
-			}
-			PresentationContext presentationContext = (PresentationContext) getPresentationContext();
-			presentationContext.setColumns(getVisibleColumns());
-			refreshColumns();
-		}
-	}
-	
-	/**
-	 * Save viewer state into the given memento.
-	 * 
-	 * @param memento
-	 */
-	public void saveState(IMemento memento) {
-		if (!fColumnSizes.isEmpty()) {
-			Iterator iterator = fColumnSizes.entrySet().iterator();
-			while (iterator.hasNext()) {
-				Map.Entry entry = (Entry) iterator.next();
-				IMemento sizes = memento.createChild(COLUMN_SIZES, (String)entry.getKey());
-				sizes.putInteger(SIZE, ((Integer)entry.getValue()).intValue());
-			}
-		}
-		if (!fShowColumns.isEmpty()) {
-			Iterator iterator = fShowColumns.entrySet().iterator();
-			while (iterator.hasNext()) {
-				Map.Entry entry = (Entry) iterator.next();
-				IMemento sizes = memento.createChild(SHOW_COLUMNS, (String)entry.getKey());
-				sizes.putString(SHOW_COLUMNS, ((Boolean)entry.getValue()).toString());
-			}			
-		}
-		if (!fVisibleColumns.isEmpty()) {
-			Iterator iterator = fVisibleColumns.entrySet().iterator();
-			while (iterator.hasNext()) {
-				Map.Entry entry = (Entry) iterator.next();
-				String id = (String) entry.getKey();
-				IMemento visible = memento.createChild(VISIBLE_COLUMNS, id);
-				String[] columns = (String[]) entry.getValue();
-				visible.putInteger(SIZE, columns.length);
-				for (int i = 0; i < columns.length; i++) {
-					visible.putString(COLUMN+Integer.toString(i), columns[i]);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Resets any persisted column size for the given columns
-	 */
-	public void resetColumnSizes(String[] columnIds) {
-		for (int i = 0; i < columnIds.length; i++) {
-			fColumnSizes.remove(columnIds[i]);
-		}
-	}
-	
-	/**
-	 * Initializes veiwer state from the memento
-	 * 
-	 * @param memento
-	 */
-	public void initState(IMemento memento) {
-		IMemento[] mementos = memento.getChildren(COLUMN_SIZES);
-		for (int i = 0; i < mementos.length; i++) {
-			IMemento child = mementos[i];
-			String id = child.getID();
-			Integer size = child.getInteger(SIZE);
-			if (size != null) {
-				fColumnSizes.put(id, size);
-			}
-		}
-		mementos = memento.getChildren(SHOW_COLUMNS);
-		for (int i = 0; i < mementos.length; i++) {
-			IMemento child = mementos[i];
-			String id = child.getID();
-			Boolean bool = Boolean.valueOf(child.getString(SHOW_COLUMNS));
-			if (!bool.booleanValue()) {
-				fShowColumns.put(id, bool);
-			}
-		}
-		mementos = memento.getChildren(VISIBLE_COLUMNS);
-		for (int i = 0; i < mementos.length; i++) {
-			IMemento child = mementos[i];
-			String id = child.getID();
-			Integer integer = child.getInteger(SIZE);
-			if (integer != null) {
-				int length = integer.intValue();
-				String[] columns = new String[length];
-				for (int j = 0; j < length; j++) {
-					columns[j] = child.getString(COLUMN+Integer.toString(j));
-				}
-				fVisibleColumns.put(id, columns);
-			}
-		}
-		
-	}
-
-	/**
-	 * Initializes the tree viewer implementation.
-	 */
-	private void initTreeViewerImpl() {
-		fTreeEditorImpl = new TreeEditorImpl(this) {
-			Rectangle getBounds(Item item, int columnNumber) {
-				return ((TreeItem) item).getBounds(columnNumber);
-			}
-
-			int getColumnCount() {
-				return getTree().getColumnCount();
-			}
-
-			Item[] getSelection() {
-				return getTree().getSelection();
-			}
-
-			void setEditor(Control w, Item item, int columnNumber) {
-				fTreeEditor.setEditor(w, (TreeItem) item, columnNumber);
-			}
-
-			void setSelection(IStructuredSelection selection, boolean b) {
-				AsynchronousTreeViewer.this.setSelection(selection, b);
-			}
-
-			void showSelection() {
-				getTree().showSelection();
-			}
-
-			void setLayoutData(CellEditor.LayoutData layoutData) {
-				fTreeEditor.grabHorizontal = layoutData.grabHorizontal;
-				fTreeEditor.horizontalAlignment = layoutData.horizontalAlignment;
-				fTreeEditor.minimumWidth = layoutData.minimumWidth;
-			}
-
-			void handleDoubleClickEvent() {
-				Viewer viewer = getViewer();
-				fireDoubleClick(new DoubleClickEvent(viewer, viewer
-						.getSelection()));
-				fireOpen(new OpenEvent(viewer, viewer.getSelection()));
-			}
-		};
-	}
-	
-	/**
-	 * Starts editing the given element.
-	 * 
-	 * @param element
-	 *            the element
-	 * @param column
-	 *            the column number
-	 */
-	public void editElement(Object element, int column) {
-		fTreeEditorImpl.editElement(element, column);
-	}
-
-	/**
-	 * Returns the cell editors of this tree viewer.
-	 * 
-	 * @return the list of cell editors
-	 */
-	public CellEditor[] getCellEditors() {
-		return fTreeEditorImpl.getCellEditors();
-	}
-
-	/**
-	 * Returns the cell modifier of this tree viewer.
-	 * 
-	 * @return the cell modifier
-	 */
-	public ICellModifier getCellModifier() {
-		return fTreeEditorImpl.getCellModifier();
-	}	
-	
-	/**
-	 * Cancels a currently active cell editor. All changes already done in the
-	 * cell editor are lost.
-	 * 
-	 */
-	public void cancelEditing() {
-		fTreeEditorImpl.cancelEditing();
-	}	
-	
-	/**
-	 * Returns whether there is an active cell editor.
-	 * 
-	 * @return <code>true</code> if there is an active cell editor, and
-	 *         <code>false</code> otherwise
-	 */
-	public boolean isCellEditorActive() {
-		return fTreeEditorImpl.isCellEditorActive();
-	}	
-	
-	/**
-	 * Sets the cell editors of this tree viewer.
-	 * 
-	 * @param editors
-	 *            the list of cell editors
-	 */
-	protected void setCellEditors(CellEditor[] editors) {
-		fTreeEditorImpl.setCellEditors(editors);
-	}
-
-	/**
-	 * Sets the cell modifier of this tree viewer.
-	 * 
-	 * @param modifier
-	 *            the cell modifier
-	 */
-	protected void setCellModifier(ICellModifier modifier) {
-		fTreeEditorImpl.setCellModifier(modifier);
-	}
-	
-	/**
-	 * Sets the column properties of this tree viewer. The properties must
-	 * correspond with the columns of the tree control. They are used to
-	 * identify the column in a cell modifier.
-	 * 
-	 * @param columnProperties
-	 *            the list of column properties
-	 */
-	protected void setColumnProperties(String[] columnProperties) {
-		fTreeEditorImpl.setColumnProperties(columnProperties);
-	}	
-	
-	/**
-	 * Toggles columns on/off for the current column presentation, if any.
-	 * 
-	 * @param show whether to show columns if the current input suppports
-	 * 	columns
-	 */
-	public void setShowColumns(boolean show) {
-		if (show) {
-			if (!isShowColumns()) {
-				fShowColumns.remove(fColumnPresentation.getId());
-			}
-		} else {
-			if (isShowColumns()){
-				fShowColumns.put(fColumnPresentation.getId(), Boolean.FALSE);
-			}
-		}
-		refreshColumns();
-	}
-	
-	/**
-	 * Returns whether columns are being displayed currently.
-	 * 
-	 * @return
-	 */
-	public boolean isShowColumns() {
-		if (fColumnPresentation != null) {
-			return isShowColumns(fColumnPresentation.getId());
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether columns can be toggled on/off for the current input.
-	 * 
-	 * @return whether columns can be toggled on/off for the current input
-	 */
-	public boolean canToggleColumns() {
-		return fColumnPresentation != null && fColumnPresentation.isOptional();
-	}
-	
-	protected boolean isShowColumns(String columnPresentationId) {
-		Boolean bool = (Boolean) fShowColumns.get(columnPresentationId);
-		if (bool == null) {
-			return true;
-		}
-		return bool.booleanValue();
-	}
-	
-	/**
-	 * Notification the container status of a node has changed/been computed.
-	 * 
-	 * @param node
-	 */
-	protected void nodeContainerChanged(ModelNode node) {
-		Widget widget = findItem(node);
-		if (widget != null && !widget.isDisposed()) {
-			if (node.isContainer()) {
-				if (widget instanceof TreeItem) {
-					if (((TreeItem)widget).getExpanded()) {
-						updateChildren(node);
-					}
-				} else {
-					updateChildren(node);
-				}
-				attemptPendingUpdates();
-			}
-		}			
-	}
-	
-	/**
-	 * Collects label results.
-	 * 
-	 * @param monitor progress monitor
-	 * @param element element to start collecting at, including all children
-	 * @param taskName label for prorgress monitor main task
-	 * 
-	 * @return results or <code>null</code> if cancelled
-	 */
-	public List buildLabels(IProgressMonitor monitor, Object element, String taskName) {
-		ModelNode[] theNodes = getModel().getNodes(element);
-		List results = new ArrayList();
-		if (theNodes != null && theNodes.length > 0) {
-			ModelNode root = theNodes[0];
-			List nodes = new ArrayList(); 
-			collectNodes(nodes, root);
-			monitor.beginTask(taskName, nodes.size());
-			Iterator iterator = nodes.iterator();
-			while (!monitor.isCanceled() && iterator.hasNext()) {
-				ModelNode node = (ModelNode) iterator.next();
-				IAsynchronousLabelAdapter labelAdapter = getModel().getLabelAdapter(node.getElement());
-				if (labelAdapter != null) {
-					LabelResult result = new LabelResult(node, getModel());
-					labelAdapter.retrieveLabel(node.getElement(), getPresentationContext(), result);
-					synchronized (result) { 
-						if (!result.isDone()) {
-							try {
-								result.wait();
-							} catch (InterruptedException e) {
-								monitor.setCanceled(true);
-								return null;
-							}
-						}
-					}
-					IStatus status = result.getStatus();
-					if (status == null || status.isOK()) {
-						results.add(result);
-					}
-				}
-				monitor.worked(1);
-			}
-		}
-		monitor.done();
-		return results;
-	}
-	
-	private void collectNodes(List nodes, ModelNode node) {
-		if (node.getParentNode() != null) {
-			nodes.add(node);
-		}
-		ModelNode[] childrenNodes = node.getChildrenNodes();
-		if (childrenNodes != null) {
-			for (int i = 0; i < childrenNodes.length; i++) {
-				collectNodes(nodes, childrenNodes[i]);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousViewer#indexOf(org.eclipse.swt.widgets.Widget, org.eclipse.swt.widgets.Widget)
-	 */
-	protected int indexOf(Widget parent, Widget child) {
-		if (parent instanceof Tree) {
-			return ((Tree)parent).indexOf((TreeItem)child);
-		} else {
-			return ((TreeItem)parent).indexOf((TreeItem)child);
-		}
-	}	
-	
-	
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
deleted file mode 100644
index ff7235b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
+++ /dev/null
@@ -1,1156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelChangedListener;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelSelectionPolicy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelSelectionPolicyFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-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.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * A viewer that retrieves labels and content asynchronously via adapters and supports
- * duplicate elements in the viewer. Retrieving conetnt and labels asynchrnously allows
- * for arbitrary latency without blocking the UI thread.
- * <p>
- * This viewer uses adapters to retreive labels and content rather than
- * a label provider and content provider. As such, the label provider for this viewer
- * is <code>null</code> by default. The content provider returned by this viewer is
- * non-<code>null</code> to conform to the viewer specification, but performs no 
- * useful function.
- * </p>
- * <p>
- * The selection in this viewer is also set asynchronously. When the selection is set,
- * the viewer attempts to perform the selection. If the elements in the specified selection
- * are not yet in the viewer, the portion of the selection that could not be honored
- * becomes a pending selection. As more elements are added to viewer, the pending selection
- * is attempted to be set.  
- * </p>
- * @since 3.2
- */
-public abstract class AsynchronousViewer extends StructuredViewer implements Listener {
-	
-	/**
-	 * Model of elements for this viewer
-	 */
-	private AsynchronousModel fModel;
-
-	/**
-	 * Cache of images used for elements in this tree viewer. Label updates
-	 * use the method <code>getImage(...)</code> to cache images for
-	 * image descriptors. The images are disposed when this viewer is disposed.
-	 */
-	private Map fImageCache = new HashMap();
-
-	/**
-	 * Cache of the fonts used for elements in this tree viewer. Label updates
-	 * use the method <code>getFont(...)</code> to cache fonts for
-	 * FontData objects. The fonts are disposed with the viewer.
-	 */
-	private Map fFontCache = new HashMap();
-
-	/**
-	 * Cache of the colors used for elements in this tree viewer. Label updates
-	 * use the method <code>getColor(...)</code> to cache colors for
-	 * RGB values. The colors are disposed with the viewer.
-	 */
-	private Map fColorCache = new HashMap();
-
-	/**
-	 * The context in which this viewer is being used - i.e. what part it is contained
-	 * in any any preference settings associated with it.
-	 */
-	private IPresentationContext fContext;
-
-	private ISelection fPendingSelection;
-
-	private ISelection fCurrentSelection;
-	
-	/**
-	 * Array used to store indicies of the path to an item in the viewer being mapped
-	 * by a 'set data' callback. Indicies are bottom up. For example when 'set data' for 
-	 * the 3rd child of the 4th child of the 2nd root element were being asked for,
-	 * the first 3 indicies would look like: [3, 4, 2, ....]. We re-use an array to avoid
-	 * creating a new one all the time. The array grows as needed to accomodate deep
-	 * elements.
-	 */
-	private int[] fSetDataIndicies = new int[5];
-	
-	/**
-	 * The update policy for this viewer.
-	 */
-	private AbstractUpdatePolicy fUpdatePolicy;
-
-	protected static final String OLD_LABEL = "old_label"; //$NON-NLS-1$
-	protected static final String OLD_IMAGE = "old_image"; //$NON-NLS-1$
-	
-	   // debug flags
-	public static boolean DEBUG_VIEWER = false;
-	
-	static {
-		DEBUG_VIEWER = DebugUIPlugin.DEBUG && "true".equals( //$NON-NLS-1$
-		 Platform.getDebugOption("org.eclipse.debug.ui/debug/viewers/viewer")); //$NON-NLS-1$
-	}    	
-	
-	/**
-	 * Creates a new viewer 
-	 */
-	protected AsynchronousViewer() {
-		setContentProvider(new NullContentProvider());
-		setUseHashlookup(true);
-	}
-
-	/**
-	 * Hash lookup is required, don't let subclasses change behavior.
-	 */
-	public final void setUseHashlookup(boolean enable) {
-		Assert.isTrue(enable);
-		super.setUseHashlookup(enable);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#hookControl(org.eclipse.swt.widgets.Control)
-	 */
-	protected void hookControl(Control control) {
-		super.hookControl(control);
-		control.addListener(SWT.SetData, this);
-	}
-
-	/**
-	 * Clients must call this methods when this viewer is no longer needed
-	 * so it can perform cleanup.
-	 */
-	public synchronized void dispose() {
-		Iterator images = fImageCache.values().iterator();
-		while (images.hasNext()) {
-			Image image = (Image) images.next();
-			image.dispose();
-		}
-		fImageCache.clear();
-		
-		Iterator fonts = fFontCache.values().iterator();
-		while (fonts.hasNext()) {
-			Font font = (Font) fonts.next();
-			font.dispose();
-		}
-		fFontCache.clear();
-		
-		Iterator colors = fColorCache.values().iterator();
-		while (colors.hasNext()) {
-			Color color = (Color) colors.next();
-			color.dispose();
-		}
-		fColorCache.clear();
-		
-		if (fModel != null) {
-			fModel.dispose();
-		}
-		if (fUpdatePolicy != null) {
-			fUpdatePolicy.dispose();
-		}
-		if (fContext != null) {
-			((PresentationContext)fContext).dispose();
-		}
-	}
-
-	/**
-	 * Updates all occurrences of the given element in this viewer.
-	 * 
-	 * @param element element to update
-	 */
-	public void update(Object element) {
-		ModelNode[] nodes = getModel().getNodes(element);
-		if (nodes != null) {
-			for (int i = 0; i < nodes.length; i++) {
-				updateLabel(nodes[i]);
-			}
-		}
-	}
-	
-	/**
-	 * Updates the label for a specific element (node) in the model.
-	 * 
-	 * @param node node to update
-	 * @param item its associated item
-	 */
-	protected void updateLabel(ModelNode node) {
-		// the input is not displayed
-		if (!node.getElement().equals(getInput())) {
-			getModel().updateLabel(node);
-		}
-	}
-		
-	/**
-	 * Returns the presentation context to be used in update requests.
-	 * Clients may override this method if required to provide special
-	 * implementations of contexts.
-	 * 
-	 * @return presentation contenxt
-	 */
-	public IPresentationContext getPresentationContext() {
-		return fContext;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#unmapAllElements()
-	 */
-	protected synchronized void unmapAllElements() {
-		super.unmapAllElements();
-		AsynchronousModel model = getModel();
-		if (model != null) {
-			model.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.Viewer#inputChanged(java.lang.Object, java.lang.Object)
-	 */
-	protected synchronized void inputChanged(Object input, Object oldInput) {
-		if (fUpdatePolicy == null) {
-			fUpdatePolicy = createUpdatePolicy();
-            fUpdatePolicy.init(this);
-		}
-		if (fModel != null) {
-			fModel.dispose();
-		}
-		fModel = createModel();
-		fModel.init(input);
-		if (input != null) {
-			mapElement(fModel.getRootNode(), getControl());
-			getControl().setData(fModel.getRootNode().getElement());
-		} else {
-			unmapAllElements();
-		}
-        refresh();		
-	}
-	
-	/**
-	 * Creaets a new emptyu model for this viewer that
-	 * is *not* initialized.
-	 * 
-	 * @return a new model
-	 */
-	protected abstract AsynchronousModel createModel();
-
-	/**
-	 * Creates and returns this viewers update policy.
-	 * @return update policy
-	 */
-	public abstract AbstractUpdatePolicy createUpdatePolicy();
-
-	Image[] getImages(ImageDescriptor[] descriptors) {
-        if (descriptors == null || descriptors.length == 0) {
-            String[] columns = getPresentationContext().getColumns();
-            if (columns == null) {
-                return new Image[1];
-            } else {
-                return new Image[columns.length];
-            }
-        }
-		Image[] images = new Image[descriptors.length];
-		for (int i = 0; i < images.length; i++) {
-			images[i] = getImage(descriptors[i]);
-		}
-		return images;
-	}
-	
-	/**
-	 * Returns an image for the given image descriptor or <code>null</code>. Adds the image
-	 * to a cache of images if it does not already exist. The cache is cleared when this viewer
-	 * is disposed. 
-	 * 
-	 * @param descriptor image descriptor or <code>null</code>
-	 * @return image or <code>null</code>
-	 */
-	protected Image getImage(ImageDescriptor descriptor) {
-		if (descriptor == null) {
-			return null;
-		}
-		Image image = (Image) fImageCache.get(descriptor);
-		if (image == null) {
-			image = new Image(getControl().getDisplay(), descriptor.getImageData());
-			fImageCache.put(descriptor, image);
-		}
-		return image;
-	}
-
-	protected Font[] getFonts(FontData[] fontDatas) {
-		if (fontDatas == null || fontDatas.length == 0) {
-            String[] columns = getPresentationContext().getColumns();
-            if (columns == null) {
-                return new Font[1];
-            } else {
-                return new Font[columns.length];
-            }
-		}
-		
-		Font[] fonts = new Font[fontDatas.length];
-		for (int i = 0; i < fonts.length; i++) {
-			fonts[i] = getFont(fontDatas[i]);
-		}
-		return fonts;
-	}
-	
-	/**
-	 * Returns a font for the given font data or <code>null</code>. Adds the font to this viewer's font 
-	 * cache which is disposed when this viewer is disposed.
-	 * 
-	 * @param fontData font data or <code>null</code>
-	 * @return font font or <code>null</code>
-	 */
-	protected Font getFont(FontData fontData) {
-		if (fontData == null) {
-			return null;
-		}
-		Font font = (Font) fFontCache.get(fontData);
-		if (font == null) {
-			font = new Font(getControl().getDisplay(), fontData);
-			fFontCache.put(fontData, font);
-		}
-		return font;
-	}
-	
-	protected Color[] getColors(RGB[] rgb) {
-        if (rgb == null || rgb.length == 0) {
-            String[] columns = getPresentationContext().getColumns();
-            if (columns == null) {
-                return new Color[1];
-            } else {
-                return new Color[columns.length];
-            }
-        }
-		Color[] colors = new Color[rgb.length];
-		for (int i = 0; i < colors.length; i++) {
-			colors[i] = getColor(rgb[i]);
-		}
-		return colors;
-	}
-	/**
-	 * Returns a color for the given RGB or <code>null</code>. Adds the color to this viewer's color 
-	 * cache which is disposed when this viewer is disposed.
-	 * 
-	 * @param rgb RGB or <code>null</code>
-	 * @return color or <code>null</code>
-	 */
-	protected Color getColor(RGB rgb) {
-		if (rgb == null) {
-			return null;
-		}
-		Color color = (Color) fColorCache.get(rgb);
-		if (color == null) {
-			color = new Color(getControl().getDisplay(), rgb);
-			fColorCache.put(rgb, color);
-		}
-		return color;
-	}
-	
-	/**
-	 * Sets the context for this viewer. 
-	 * 
-	 * @param context
-	 */
-	public void setContext(IPresentationContext context) {
-		fContext = context;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#doFindItem(java.lang.Object)
-	 */
-	protected Widget doFindItem(Object element) {
-		// this viewer maps model nodes to widgets, so the element is a ModelNode
-		AsynchronousModel model = getModel();
-		if (model != null) {
-			if (element.equals(model.getRootNode())) {
-				return doFindInputItem(element);
-			}
-			Widget[] widgets = findItems(element);
-			if (widgets.length > 0) {
-				return widgets[0];
-			}
-		}
-		return null;
-	}
-	
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.StructuredViewer#doFindInputItem(java.lang.Object)
-     */
-    protected Widget doFindInputItem(Object element) {
-    	if (element instanceof ModelNode) {
-			ModelNode node = (ModelNode) element;
-			if (node.getElement().equals(getInput())) {
-				return getControl();
-			}
-		}
-        return null;
-    }	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#doUpdateItem(org.eclipse.swt.widgets.Widget, java.lang.Object, boolean)
-	 */
-	protected void doUpdateItem(Widget item, Object element, boolean fullMap) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#internalRefresh(java.lang.Object)
-	 */
-	protected void internalRefresh(Object element) {
-		// get the nodes in the model
-		AsynchronousModel model = getModel();
-		if (model != null) {
-			ModelNode[] nodes = model.getNodes(element);
-			if (nodes != null) {
-				for (int i = 0; i < nodes.length; i++) {
-					ModelNode node = nodes[i];
-					// get the widget for the node
-					Widget item = findItem(node);
-					if (item != null) {
-						internalRefresh(node);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Refreshes a specific occurrence of an element (a node).
-	 * 
-	 * @param node node to update
-	 * 
-	 * Subclasses should override and call super
-	 */
-	protected void internalRefresh(ModelNode node) {
-		updateLabel(node);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.Viewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean)
-	 */
-	public synchronized void setSelection(ISelection selection, boolean reveal) {
-		setSelection(selection, reveal, false);
-	}
-	
-	/**
-	 * Sets the selection in this viewer.
-	 * 
-	 * @param selection new selection
-	 * @param reveal whether to reveal the selection
-	 * @param force whether to force the selection change without consulting the model
-	 *  selection policy
-	 */
-	public synchronized void setSelection(ISelection selection, final boolean reveal, boolean force) {
-		Control control = getControl();
-		if (control == null || control.isDisposed()) {
-			return;
-		}
-		if (!acceptsSelection(selection)) {
-			selection = getEmptySelection();
-		}
-		if (!force && !overrideSelection(fCurrentSelection, selection)) {
-			return;
-		}
-		
-		fPendingSelection = selection;
-		
-		if (getControl().getDisplay().getThread() == Thread.currentThread()) {
-			attemptSelection(reveal);
-		} else {
-			WorkbenchJob job = new WorkbenchJob("attemptSelection") { //$NON-NLS-1$
-				public IStatus runInUIThread(IProgressMonitor monitor) {
-					attemptSelection(reveal);
-					return Status.OK_STATUS;
-				}
-				
-			};
-			job.setSystem(true);
-			job.schedule();
-		}		
-	}	
-	
-	
-	/**
-	 * Returns whether the candidate selection should override the current
-	 * selection.
-	 * 
-	 * @param current
-	 * @param curr
-	 * @return
-	 */
-	protected boolean overrideSelection(ISelection current, ISelection candidate) {
-		IModelSelectionPolicy selectionPolicy = getSelectionPolicy(current);
-		if (selectionPolicy == null) {
-			return true;
-		}
-		if (selectionPolicy.contains(candidate, getPresentationContext())) {
-			return selectionPolicy.overrides(current, candidate, getPresentationContext());
-		}
-		return !selectionPolicy.isSticky(current, getPresentationContext());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#getSelection()
-	 */
-	public ISelection getSelection() {
-		Control control = getControl();
-		if (control == null || control.isDisposed() || fCurrentSelection == null) {
-			return StructuredSelection.EMPTY;
-		}
-		return fCurrentSelection;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#handleSelect(org.eclipse.swt.events.SelectionEvent)
-	 */
-	protected void handleSelect(SelectionEvent event) {
-		// handle case where an earlier selection listener disposed the control.
-		Control control = getControl();
-		if (control != null && !control.isDisposed()) {
-			updateSelection(newSelectionFromWidget());
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#handlePostSelect(org.eclipse.swt.events.SelectionEvent)
-	 */
-	protected void handlePostSelect(SelectionEvent e) {
-		SelectionChangedEvent event = new SelectionChangedEvent(this, newSelectionFromWidget());
-		firePostSelectionChanged(event);
-	}	
-	
-	/**
-	 * Creates and returns a new seletion from this viewer, based on the selected
-	 * elements in the widget.
-	 * 
-	 * @return a new selection
-	 */
-	protected abstract ISelection newSelectionFromWidget();
-	
-	/**
-	 * Returns the selection policy associated with the given selection
-	 * or <code>null</code> if none.
-	 * 
-	 * @param selection or <code>null</code>
-	 * @return selection policy or <code>null</code>
-	 */
-	protected IModelSelectionPolicy getSelectionPolicy(ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection) selection;
-			Object element = ss.getFirstElement();
-			if (element instanceof IAdaptable) {
-				IAdaptable adaptable = (IAdaptable) element;
-				IModelSelectionPolicyFactoryAdapter factory =  (IModelSelectionPolicyFactoryAdapter) adaptable.getAdapter(IModelSelectionPolicyFactoryAdapter.class);
-				if (factory != null) {
-					return factory.createModelSelectionPolicyAdapter(adaptable, getPresentationContext());
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#setSelectionToWidget(org.eclipse.jface.viewers.ISelection, boolean)
-	 */
-	final protected void setSelectionToWidget(ISelection selection, final boolean reveal) {
-		// NOT USED
-		throw new IllegalArgumentException("This method should not be called"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#setSelectionToWidget(java.util.List, boolean)
-	 */
-	final protected void setSelectionToWidget(List l, boolean reveal) {
-		// NOT USED
-		throw new IllegalArgumentException("This method should not be called"); //$NON-NLS-1$
-	}	
-		
-	/**
-	 * Attempts to update any pending selection.
-	 * 
-	 * @param reveal whether to reveal the selection
-	 */
-	protected void attemptSelection(boolean reveal) {
-		ISelection currentSelection = null;
-		synchronized (this) {
-			if (fPendingSelection != null) {
-				ISelection remaining = doAttemptSelectionToWidget(fPendingSelection, reveal);
-				if (remaining.isEmpty()) {
-					remaining = null;
-				}
-				if (!fPendingSelection.equals(remaining)) {
-					fPendingSelection = remaining;
-					currentSelection = newSelectionFromWidget();
-					if (isSuppressEqualSelections() && currentSelection.equals(fCurrentSelection)) {
-						return;
-					}
-				}
-			}
-		}
-		if (currentSelection != null) {
-			updateSelection(currentSelection);
-			firePostSelectionChanged(new SelectionChangedEvent(this, currentSelection));
-		}
-	}
-	
-	/**
-	 * Controls whether selection change notification is sent even when
-	 * successive selections are equal.
-	 * 
-	 * TODO: what we really want is to fire selection change on ACTIVATE model
-	 * change, even when selection is the same.
-	 * 
-	 * @return whether to suppress change notification for equal successive
-	 *         selections
-	 */
-	protected boolean isSuppressEqualSelections() {
-		return true;
-	}
-	
-	/**
-	 * Attempts to selection the specified selection and returns a selection
-	 * representing the portion of the selection that could not be honored
-	 * and still needs to be selected.
-	 * 
-	 * @param selection selection to attempt
-	 * @param reveal whether to reveal the selection
-	 * @return remaining selection
-	 */
-	protected abstract ISelection doAttemptSelectionToWidget(ISelection selection, boolean reveal);
-	
-	/**
-	 * Returns whether this viewer supports the given selection.
-	 * 
-	 * @param selection a selection
-	 * @return whether this viewer supports the given selection
-	 */
-	protected abstract boolean acceptsSelection(ISelection selection);
-	
-	/**
-	 * Returns an empty selection supported by this viewer.
-	 * 
-	 * @return an empty selection supported by this viewer
-	 */
-	protected abstract ISelection getEmptySelection();
-	
-	/**
-	 * A content provider that does nothing.
-	 */
-	private class NullContentProvider implements IStructuredContentProvider {
-		public void dispose() {
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-
-		public Object[] getElements(Object inputElement) {
-			return null;
-		}
-	}
-
-	/**
-	 * Notification that a presentation update has failed.
-	 * Subclasses may override as required. The default implementation
-	 * does nothing.
-	 * 
-	 * @param monitor monitor for the presentation request that failed
-	 * @param status status of update
-	 */
-	protected void handlePresentationFailure(IAsynchronousRequestMonitor monitor, IStatus status) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#preservingSelection(java.lang.Runnable)
-	 */
-	protected synchronized void preservingSelection(Runnable updateCode) {
-		if (fPendingSelection == null || fPendingSelection.isEmpty()) {
-			ISelection oldSelection = null;
-			try {
-				// preserve selection
-				oldSelection = fCurrentSelection;				
-				// perform the update
-				updateCode.run();
-			} finally {
-				// restore selection
-				if (oldSelection == null) {
-					oldSelection = new StructuredSelection();
-				}
-				if (getControl().getDisplay().getThread() == Thread.currentThread()) {
-					if (!oldSelection.equals(newSelectionFromWidget())) {
-						restoreSelection(oldSelection);
-					}
-				} else {
-					final ISelection tempSelection = oldSelection;
-					WorkbenchJob job = new WorkbenchJob("attemptSelection") { //$NON-NLS-1$
-						public IStatus runInUIThread(IProgressMonitor monitor) {
-                            if (!getControl().isDisposed()) {
-                				if (!tempSelection.equals(newSelectionFromWidget())) {
-                					restoreSelection(tempSelection);
-                				}
-                            }
-                            return Status.OK_STATUS;
-						}
-						
-					};
-					job.setSystem(true);
-					job.schedule();
-				}							
-			}
-		} else {
-			updateCode.run();
-		}
-	}
-	
-	protected synchronized void restoreSelection(ISelection oldSelection) {
-		ISelection remaining = doAttemptSelectionToWidget(oldSelection, false);
-		// send out notification if old and new differ
-		fCurrentSelection = newSelectionFromWidget();
-		if (!fCurrentSelection.equals(oldSelection)) {
-			handleInvalidSelection(oldSelection, fCurrentSelection);
-			// if the remaining selection still exists in the model, make it pending
-			if (selectionExists(remaining)) {
-				setSelection(remaining);
-			}
-		}
-	}
-	
-	/**
-	 * Returns whether the selection exists in the model
-	 */
-	protected boolean selectionExists(ISelection selection) {
-		if (selection.isEmpty()) {
-			return false;
-		}
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection) selection;
-			Iterator iterator = ss.iterator();
-			while (iterator.hasNext()) {
-				Object element = iterator.next();
-				if (getModel().getNodes(element) == null) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-    
-	/**
-	 * Sets the color attributes of the given widget.
-	 * 
-	 * @param widget the widget to update
-	 * @param foreground foreground color of the widget or <code>null</code> if default
-	 * @param background background color of the widget or <code>null</code> if default
-	 */
-	protected abstract void setColors(Widget widget, RGB foreground[], RGB background[]);
-	
-	/**
-	 * Sets the label attributes of the given widget.
-	 * 
-	 * @param widget the widget to update
-	 * @param text label text
-	 * @param image label image or <code>null</code>
-	 */
-	protected abstract void setLabels(Widget widget, String[] text, ImageDescriptor[] image);
-	
-	/**
-	 * Sets the font attributes of the given widget.
-	 * 
-	 * @param widget widget to update
-	 * @param font font of the widget or <code>null</code> if default.
-	 */
-	protected abstract void setFonts(Widget widget, FontData[] font);
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.StructuredViewer#updateSelection(org.eclipse.jface.viewers.ISelection)
-	 */
-	protected synchronized void updateSelection(ISelection selection) {
-		fCurrentSelection = selection;
-		super.updateSelection(selection);
-	}
-	
-
-	
-	/**
-	 * Notification the given model proxy has been added to this viewer's model.
-	 * 
-	 * @param proxy
-	 */
-	protected void modelProxyAdded(IModelProxy proxy) {
-		if (fUpdatePolicy instanceof IModelChangedListener) {
-			proxy.addModelChangedListener((IModelChangedListener)fUpdatePolicy);
-		}		
-	}
-	
-	/**
-	 * Notification the given model proxy has been removed from this viewer's model.
-	 * 
-	 * @param proxy
-	 */
-	protected void modelProxyRemoved(IModelProxy proxy) {
-		if (fUpdatePolicy instanceof IModelChangedListener) {
-			proxy.removeModelChangedListener((IModelChangedListener)fUpdatePolicy);
-		}		
-	}	
-	
-	/**
-	 * Returns this viewer's model
-	 * 
-	 * @return model
-	 */
-	protected AsynchronousModel getModel() {
-		return fModel;
-	}	
-
-	/**
-	 * A node in the model has been updated
-	 * 
-	 * @param node
-	 */
-	protected void nodeChanged(ModelNode node) {
-		Widget widget = findItem(node);
-		if (widget != null) {
-			clear(widget);
-			attemptPendingUpdates();
-		}
-	}
-
-	/**
-	 * @return if there are any more pending updates in the viewer
-	 */
-	public synchronized boolean hasPendingUpdates() {
-        return getModel().hasPendingUpdates();
-	}
-
-	/**
-	 * Notification from the model that the update for the given request
-	 * has completed.
-	 * 
-	 * @param monitor
-	 */
-	protected void updateComplete(IAsynchronousRequestMonitor monitor) {
-	}
-
-	/**
-	 * Clears the given widget
-	 * 
-	 * @param item
-	 */
-    protected abstract void clear(Widget item);
-    
-    /**
-     * Clears the children of the widget.
-     * 
-     * @param item
-     */
-    protected abstract void clearChildren(Widget item);
-    
-    /**
-     * Clears the child at the given index.
-     * 
-     * @param parent
-     * @param childIndex
-     */
-    protected abstract void clearChild(Widget parent, int childIndex);
-
-	/**
-	 * Returns the child widet at the given index for the given parent or
-	 * <code>null</code>
-	 * 
-	 * @param parent
-	 * @param index
-	 * @return
-	 */
-	protected abstract Widget getChildWidget(Widget parent, int index);
-
-	/**
-	 * Sets the item count for a parent widget
-	 * 
-	 * @param parent
-	 * @param itemCount
-	 */
-	protected abstract void setItemCount(Widget parent, int itemCount);
-
-    /**
-     * Attempt pending udpates. Subclasses may override but should call super.
-     */
-    protected void attemptPendingUpdates() {
-    	attemptSelection(false);
-    }
-	
-	/**
-	 * Notification a node's children have changed.
-	 * Updates the child count for the parent's widget
-	 * and clears children to be updated.
-	 * 
-	 * @param parentNode
-	 */
-	protected void nodeChildrenChanged(ModelNode parentNode) {
-		Widget widget = findItem(parentNode);
-		if (widget != null && !widget.isDisposed()) {
-			int childCount = parentNode.getChildCount();
-			setItemCount(widget, childCount);
-			clearChildren(widget);
-			attemptPendingUpdates();
-		}		
-	}
-	
-	/**
-	 * Notification children have been added to the end
-	 * of the given parent.
-	 * 
-	 * @param parentNode
-	 */
-	protected void nodeChildrenAdded(ModelNode parentNode) {
-		Widget widget = findItem(parentNode);
-		if (widget != null && !widget.isDisposed()) {
-			int childCount = parentNode.getChildCount();
-			setItemCount(widget, childCount);
-			attemptPendingUpdates();
-		}		
-	}
-	
-	/**
-	 * Notification children have been added to the end
-	 * of the given parent.
-	 * 
-	 * @param parentNode
-	 */
-	protected void nodeChildRemoved(ModelNode parentNode, int index) {
-		Widget widget = findItem(parentNode);
-		if (widget != null && !widget.isDisposed()) {
-			int childCount = parentNode.getChildCount();
-			setItemCount(widget, childCount);
-			for (int i = index; i < childCount; i ++) {
-				clearChild(widget, i);
-			}
-			attemptPendingUpdates();
-		}		
-	}	
-	
-	/**
-	 * Unmaps the node from its widget and all of its children nodes from
-	 * their widgets.
-	 * 
-	 * @param node
-	 */
-	protected void unmapNode(ModelNode node) {
-		unmapElement(node);
-		ModelNode[] childrenNodes = node.getChildrenNodes();
-		if (childrenNodes != null) {
-			for (int i = 0; i < childrenNodes.length; i++) {
-				unmapNode(childrenNodes[i]);
-			}
-		}
-	}
-
-    /**
-     * Returns the node corresponding to the given widget or <code>null</code>
-     * @param widget widget for which a node is requested
-     * @return node or <code>null</code>
-     */
-    protected ModelNode findNode(Widget widget) {
-        ModelNode[] nodes = getModel().getNodes(widget.getData());
-        if (nodes != null) {
-        	for (int i = 0; i < nodes.length; i++) {
-				ModelNode node = nodes[i];
-				Widget item = findItem(node);
-				if (widget == item) {
-					return node;
-				}
-			}
-        }    	
-        return null;
-    }
-    
-    /**
-     * Returns the item for the node or <code>null</code>
-     * @param node
-     * @return
-     */
-    protected Widget findItem(ModelNode node) {
-    	return findItem((Object)node);
-    }
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * A virtual item has been exposed in the control, map its data.
-	 * 
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(final Event event) {		
-		Item item = (Item) event.item;
-		restoreLabels(item);
-		int level = 0;
-		
-		Widget parentItem = getParentWidget(event.item);
-		if (DEBUG_VIEWER) {
-			DebugUIPlugin.debug("SET DATA [" + event.index + "]: " + parentItem);  //$NON-NLS-1$//$NON-NLS-2$
-		}
-		ModelNode node = null;
-		// first, see if the parent element is in the model
-		// and look directly for the child
-		if (parentItem != null) {
-			ModelNode[] nodes = getModel().getNodes(parentItem.getData());
-			if (nodes != null) {
-				for (int i = 0; i < nodes.length; i++) {
-					ModelNode parentNode = nodes[i];
-					Widget parentWidget = findItem(parentNode);
-					if (parentWidget == parentItem) {
-			        	ModelNode[] childrenNodes = parentNode.getChildrenNodes();
-			        	if (childrenNodes != null && event.index < childrenNodes.length) {
-			        		node = childrenNodes[event.index];
-			        	}
-					}
-				}
-			}
-		}
-
-		// otherwise, build a path to the model node
-		if (node == null) {
-			setNodeIndex(event.index, level);
-			while (parentItem instanceof Item) {
-				level++;
-				Widget parent = getParentWidget(parentItem);
-				int index = indexOf(parent, parentItem);
-				if (index < 0) {
-					return;
-				}
-				setNodeIndex(index, level);
-				parentItem = parent;
-			}
-			
-			node = getModel().getRootNode();
-			if (node == null) {
-				if (DEBUG_VIEWER) {
-					DebugUIPlugin.debug("\tFAILED - root model node is null"); //$NON-NLS-1$
-				}
-				return;
-			}
-			for (int i = level; i >= 0; i--) {
-				ModelNode[] childrenNodes = node.getChildrenNodes();
-				if (childrenNodes == null) {
-					if (DEBUG_VIEWER) {
-						DebugUIPlugin.debug("\tFAILED - no children nodes for " + node); //$NON-NLS-1$
-					}
-					return;
-				}
-				int index = getNodeIndex(i);
-				if (index < childrenNodes.length) {
-					node = childrenNodes[index];
-				} else {
-					if (DEBUG_VIEWER) {
-						DebugUIPlugin.debug("\tFAILED - no children nodes for " + node); //$NON-NLS-1$
-					}
-					return;
-				}
-			}
-		}
-		
-		
-		// map the node to the element and refresh it
-		if (node != null) {
-			mapElement(node, event.item);
-    		event.item.setData(node.getElement());
-    		if (DEBUG_VIEWER) {
-				DebugUIPlugin.debug("\titem mapped: " + node); //$NON-NLS-1$
-    		}
-    		internalRefresh(node);
-		} else {
-			if (DEBUG_VIEWER) {
-				DebugUIPlugin.debug("\tFAILED - unable to find corresponding node"); //$NON-NLS-1$
-			}
-		}
-    }
-	
-	/**
-	 * Sets the index of a child node being mapped at the given expansion level
-	 * in the tree.
-	 * 
-	 * @param nodeIndex
-	 * @param level
-	 */
-	private void setNodeIndex(int nodeIndex, int level) {
-		if (level > (fSetDataIndicies.length - 1)) {
-			// grow the array
-			int[] next = new int[level+5];
-			System.arraycopy(fSetDataIndicies, 0, next, 0, fSetDataIndicies.length);
-			fSetDataIndicies = next;
-		}
-		fSetDataIndicies[level] = nodeIndex;
-	}
-	
-	/**
-	 * Returns the index of a child node being mapped at the given expansion level in
-	 * the tree.
-	 * 
-	 * @param level
-	 * @return
-	 */
-	private int getNodeIndex(int level) {
-		return fSetDataIndicies[level];
-	}
-	
-	protected abstract int indexOf(Widget parent, Widget child);
-	
-	protected abstract void restoreLabels(Item item);
-	
-	/**
-	 * Returns the parent widget for the given widget or <code>null</code>
-	 * 
-	 * @param widget
-	 * @return parent widget or <code>null</code>
-	 */
-	protected abstract Widget getParentWidget(Widget widget);
-
-	/**
-	 * Updates the children of the given node.
-	 * 
-	 * @param parent
-	 *            node of which to update children
-	 */
-	protected void updateChildren(ModelNode parent) {
-		getModel().updateChildren(parent);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
deleted file mode 100644
index 41b28f0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IChildrenRequestMonitor;
-
-/**
- * Implementation for <code>IChildrenRequestMonitor</code>. Collects
- * children from an asynchronous tree content adapter.  
- * <p>
- * Not intended to be subclassed or instantiated by clients. For use
- * speficially with <code>AsynchronousTreeViewer</code>.
- * </p>
- * @since 3.2
- */
-class ChildrenRequestMonitor extends AsynchronousRequestMonitor implements IChildrenRequestMonitor {
-    
-    private boolean fFirstUpdate = true;
-    
-	/**
-	 * Collection of children retrieved
-	 */
-    private List fChildren = new ArrayList();
-
-    /**
-     * Constucts a monitor to retrieve and update the children of the given
-     * node.
-     * 
-     * @param parent parent to retrieve children for
-     * @param model model being updated
-     */
-    ChildrenRequestMonitor(ModelNode parent, AsynchronousModel model) {
-        super(parent, model);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.IChildrenRequestMonitor#addChild(java.lang.Object)
-     */
-    public void addChild(Object child) {
-        synchronized (fChildren) {
-            fChildren.add(child);
-        }
-        
-        scheduleViewerUpdate(250);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.IChildrenRequestMonitor#addChildren(java.lang.Object[])
-     */
-    public void addChildren(Object[] children) {
-        synchronized (fChildren) {
-            for (int i = 0; i < children.length; i++) {
-                fChildren.add(children[i]);
-            }
-        }
-        
-        scheduleViewerUpdate(0);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#contains(org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor)
-     */
-    protected boolean contains(AsynchronousRequestMonitor update) {
-        return (update instanceof ChildrenRequestMonitor || update instanceof ContainerRequestMonitor) && contains(update.getNode());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#performUpdate()
-     */
-    protected void performUpdate() {
-        synchronized (fChildren) {
-            if (fFirstUpdate) {
-            	getModel().setChildren(getNode(), fChildren);
-                fFirstUpdate = false;
-            } else {
-                for (Iterator iter = fChildren.iterator(); iter.hasNext();) {
-                    Object child = iter.next();
-                    getModel().add(getNode(), child);    
-                }
-            }
-            fChildren.clear();
-        }
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ContainerRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ContainerRequestMonitor.java
deleted file mode 100644
index cc242e4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ContainerRequestMonitor.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IContainerRequestMonitor;
-
-/**
- * Implementation of an <code>IContainerRequestMonitor</code>. Collects whether
- * an element contains children. 
- * <p>
- * Not intended to be subclassed or instantiated by clients. For use
- * speficially with <code>AsynchronousTreeViewer</code>.
- * </p>
- * @since 3.2
- */
-class ContainerRequestMonitor extends AsynchronousRequestMonitor implements IContainerRequestMonitor {
-	
-	/**
-	 * Whether the item has children
-	 */
-	private boolean fIsChildren = false;
-
-	/**
-	 * Constructs an update request for the given node in the given model.
-	 * 
-	 * @param node node to update
-	 * @param mode model the update was issued for
-	 */
-	ContainerRequestMonitor(ModelNode node, AsynchronousModel model) {
-		super(node, model);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#performUpdate()
-	 */
-	protected void performUpdate() {
-		((AsynchronousTreeModel)getModel()).setIsContainer(getNode(), fIsChildren);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#contains(org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor)
-	 */
-	protected boolean contains(AsynchronousRequestMonitor update) {
-		return (update instanceof ChildrenRequestMonitor || update instanceof ContainerRequestMonitor) && contains(update.getNode());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.IContainerRequestMonitor#setIsContainer(boolean)
-	 */
-	public void setIsContainer(boolean container) {
-		fIsChildren = container;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelResult.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelResult.java
deleted file mode 100644
index cde762d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelResult.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * Results of collecting an asynchronous label in a tree. 
- * 
- * @since 3.2
- */
-public interface ILabelResult {
-
-	/**
-	 * Returns the labels for the element. One for each column.
-	 * 
-	 * @return
-	 */
-	public String[] getLabels();
-	
-	/**
-	 * Returns the images for the element.
-	 * 
-	 * @return
-	 */
-	public Image[] getImages();
-	
-	/**
-	 * Returns the element the label is for.
-	 * 
-	 * @return
-	 */
-	public Object getElement();
-	
-	/**
-	 * Returns the path to the element in the tree.
-	 * 
-	 * @return
-	 */
-	public TreePath getTreePath();
-	
-	/**
-	 * Returns this element's depth in the tree.
-	 * 
-	 * @return
-	 */
-	public int getDepth();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java
deleted file mode 100644
index 152a332..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.ILabelRequestMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Implementation of an <code>ILabelRequestMonitor</code>. Collects label
- * attributes from an asynchronous label adapter.
- * <p>
- * Not intended to be subclassed or instantiated by clients. For use speficially
- * with <code>AsynchronousViewer</code>.
- * </p>
- * 
- * @since 3.2
- */
-class LabelRequestMonitor extends AsynchronousRequestMonitor implements ILabelRequestMonitor {
-
-	/**
-	 * Retrieved label text. Only <code>null</code> if cancelled or failed.
-	 */
-	private String[] fLabels;
-
-	/**
-	 * Retrieved image descriptor or <code>null</code>
-	 */
-	private ImageDescriptor[] fImageDescriptors;
-
-	/**
-	 * Retrieved font data or <code>null</code>
-	 */
-	private FontData[] fFontDatas;
-
-	/**
-	 * Retieved colors or <code>null</code>
-	 */
-	private RGB[] fForegrounds;
-	private RGB[] fBackgrounds;
-
-	/**
-	 * Cosntructs a request to upate the label of the given node in the give
-	 * model.
-	 * 
-	 * @param node node to update
-	 * @param model model containing the node
-	 */
-	public LabelRequestMonitor(ModelNode node, AsynchronousModel model) {
-		super(node, model);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#performUpdate()
-	 */
-	protected void performUpdate() {
-		AsynchronousViewer viewer = getModel().getViewer();
-		Widget widget = viewer.findItem(getNode());
-		if (widget != null && !widget.isDisposed()) {
-    		viewer.setLabels(widget, fLabels, fImageDescriptors);
-    		viewer.setColors(widget, fForegrounds, fBackgrounds);
-    		viewer.setFonts(widget, fFontDatas);
-        }
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#contains(org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor)
-	 */
-	protected boolean contains(AsynchronousRequestMonitor update) {
-		return update instanceof LabelRequestMonitor && update.getNode() == getNode();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setLabel(java.lang.String)
-	 */
-	public void setLabels(String[] text) {
-		fLabels = text;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setFontData(org.eclipse.swt.graphics.FontData)
-	 */
-	public void setFontDatas(FontData[] fontData) {
-		fFontDatas = fontData;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setImageDescriptor(org.eclipse.jface.resource.ImageDescriptor)
-	 */
-	public void setImageDescriptors(ImageDescriptor[] image) {
-		fImageDescriptors = image;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setForeground(org.eclipse.swt.graphics.RGB)
-	 */
-	public void setForegrounds(RGB[] foreground) {
-		fForegrounds = foreground;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setBackground(org.eclipse.swt.graphics.RGB)
-	 */
-	public void setBackgrounds(RGB[] background) {
-		fBackgrounds = background;
-	}
-	
-	protected RGB[] getBackgrounds() {
-		return fBackgrounds;
-	}
-	
-	protected RGB[] getForegrounds() {
-		return fForegrounds;
-	}
-	
-	protected FontData[] getFontDatas() {
-		return fFontDatas;
-	}
-	
-	protected String[] getLabels() {
-		return fLabels;
-	}
-	
-	protected ImageDescriptor[] getImageDescriptors() {
-		return fImageDescriptors;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelResult.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelResult.java
deleted file mode 100644
index 2e04a1a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelResult.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * @since 3.2
- *
- */
-class LabelResult extends LabelRequestMonitor implements ILabelResult {
-
-	public LabelResult(ModelNode node, AsynchronousModel model) {
-		super(node, model);
-	}
-	
-	protected synchronized void scheduleViewerUpdate(long ms) {
-		notifyAll();
-	}
-	
-	public synchronized boolean isDone() {
-		return super.isDone();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.ILabelResult#getElement()
-	 */
-	public Object getElement() {
-		return getNode().getElement();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.ILabelResult#getImages()
-	 */
-	public Image[] getImages() {
-		return getModel().getViewer().getImages(getImageDescriptors());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.ILabelResult#getLabels()
-	 */
-	public String[] getLabels() {
-		return super.getLabels();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.ILabelResult#getTreePath()
-	 */
-	public TreePath getTreePath() {
-		return getNode().getTreePath();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.ILabelResult#getDepth()
-	 */
-	public int getDepth() {
-		int level = 0;
-		ModelNode node = getNode().getParentNode();
-		while (node != null) {
-			node = node.getParentNode();
-			level++;
-		}
-		return level;
-	}
-
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java
deleted file mode 100644
index ee2edde..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.TreePath;
-
-/**
- * A node in an asynchronous model.
- * 
- * @since 3.2
- */
-public class ModelNode {
-
-	private Object fElement; // model element
-	private boolean fIsContainer; // whether this element may have children
-	private ModelNode fParent; // parent node or null for root
-	private ModelNode[] fChildren; // child nodes, possibly null
-	private boolean fDisposed; // whether this node has been disposed
-	
-	public ModelNode(ModelNode parent, Object element) {
-		fParent = parent;
-		fElement = element;
-	}
-	
-	public synchronized Object getElement() {
-		return fElement;
-	}
-    
-    public synchronized void remap(Object element) {
-        fElement = element;
-    }
-	
-	public ModelNode getParentNode() {
-		return fParent;
-	}
-	
-	public synchronized boolean isContainer() {
-		return fIsContainer;
-	}
-	
-	public synchronized ModelNode[] getChildrenNodes() {
-		return fChildren;
-	}
-	
-	public synchronized boolean isDisposed() {
-		return fDisposed; 
-	}
-	
-	public synchronized void dispose() {
-		fDisposed = true;
-        ModelNode[] childrenNodes = getChildrenNodes();
-        if (childrenNodes != null) {
-            for (int i = 0; i < childrenNodes.length; i++) {
-                childrenNodes[i].dispose();
-            }
-        }
-	}
-	
-	/**
-	 * Returns whether this node corresponds to the given path
-	 * 
-	 * @param path tree path
-	 */
-	public synchronized boolean correspondsTo(TreePath path) {
-		int index = path.getSegmentCount() - 1;
-		ModelNode node = this;
-		while (index >= 0 && node != null) {
-			Object pathElement = path.getSegment(index);
-			if (pathElement.equals(node.getElement())) {
-				index--;
-				node = node.getParentNode();
-			} else {
-				return false;
-			}
-		}
-		return index == -1;
-	}
-	
-	/**
-	 * Returns a tree path corresponding to this node.
-	 * 
-	 * @return
-	 */
-	public synchronized TreePath getTreePath() {
-		List path = new ArrayList();
-		ModelNode node = this;
-		while (node != null) {
-			path.add(0, node.getElement());
-			node = node.getParentNode();
-		}
-		return new TreePath(path.toArray());
-	}
-	
-	/**
-	 * Adds the given child to this node.
-	 * 
-	 * @param child
-	 */
-	public synchronized void addChild(ModelNode child) {
-		if (fChildren == null) {
-			fChildren = new ModelNode[] {child};
-		} else {
-			ModelNode[] kids = new ModelNode[fChildren.length + 1];
-			System.arraycopy(fChildren, 0, kids, 0, fChildren.length);
-			kids[fChildren.length] = child;
-			fChildren = kids;
-		}
-	}
-    
-    /**
-     * Removes the given child from this node.
-     * 
-     * @param child
-     */
-    public synchronized void removeChild(ModelNode child) {
-        if (fChildren != null) {
-            for (int i = 0; i < fChildren.length; i++) {
-                ModelNode kid = fChildren[i];
-                if (child == kid) {
-                    ModelNode[] newNodes= new ModelNode[fChildren.length - 1];
-                    System.arraycopy(fChildren, 0, newNodes, 0, i);
-                    if (i < newNodes.length) {
-                        System.arraycopy(fChildren, i + 1, newNodes, i, newNodes.length - i);
-                    }
-                    fChildren = newNodes;
-                    return;
-                }
-            }
-        }
-    }    
-	
-	/**
-	 * Sets the children for this node
-	 * 
-	 * @param children
-	 */
-	public synchronized void setChildren(ModelNode[] children) {
-		if (children != null && children.length == 0) {
-			fChildren = null;
-			setIsContainer(false);
-		} else {
-			fChildren = children;
-		}
-	}
-	
-	/**
-	 * Returns the number of children for this node.
-	 * 
-	 * @return
-	 */
-	public synchronized int getChildCount() {
-		if (fChildren == null) {
-            if (isContainer()) {
-                return 1;
-            }
-			return 0;
-		}
-		return fChildren.length;
-	}
-    
-    /**
-     * Returns the index of the given child in this parent, or -1
-     * 
-     * @param child
-     */
-    public synchronized int getChildIndex(ModelNode child) {
-       if (fChildren != null) {
-           for (int i = 0; i < fChildren.length; i++) {
-                if (child == fChildren[i]) {
-                    return i;
-                }
-           }
-       }
-       return -1;
-    }
-    
-    /**
-     * Sets whether this node has children.
-     * 
-     * @param container
-     */
-    public synchronized void setIsContainer(boolean container) {
-        fIsContainer = container;
-    }
-    
-    public String toString() {
-    	StringBuffer buf = new StringBuffer();
-    	if (isDisposed()) {
-    		buf.append("[DISPOSED] "); //$NON-NLS-1$
-    	}
-    	if (isContainer()) {
-    		buf.append("[+] "); //$NON-NLS-1$
-    	}
-    	buf.append(getElement());
-    	return buf.toString();
-    }
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PresentationContext.java
deleted file mode 100644
index 779f513..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PresentationContext.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Presentation context.
- * <p>
- * Clients may instantiate and subclass this class.
- * </p>
- * @since 3.2
- */
-public class PresentationContext implements IPresentationContext {
-    
-    private IWorkbenchPart fPart;
-    private String[] fColumns;
-    private ListenerList fListeners = new ListenerList();
-    
-    /**
-     * Constructs a presentation context for the given part.
-     * 
-     * @param part workbench part
-     */
-    public PresentationContext(IWorkbenchPart part) {
-        fPart = part;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.IPresentationContext#getPart()
-     */
-    public IWorkbenchPart getPart() {
-        return fPart;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext#getColumns()
-	 */
-	public String[] getColumns() {
-		return fColumns;
-	}
-	
-	/**
-	 * Fires a property change event to all registered listeners
-	 * 
-	 * @param property property name
-	 * @param oldValue old value or <code>null</code>
-	 * @param newValue new value or <code>null</code>
-	 */
-	protected void firePropertyChange(String property, Object oldValue, Object newValue) {
-		if (!fListeners.isEmpty()) {
-			final PropertyChangeEvent event = new PropertyChangeEvent(this, property, oldValue, newValue);
-			Object[] listeners = fListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				final IPropertyChangeListener listener = (IPropertyChangeListener) listeners[i];
-				SafeRunner.run(new SafeRunnable() {
-					public void run() throws Exception {
-						listener.propertyChange(event);
-					}
-				});
-			}
-		}
-	}
-	
-	/**
-	 * Sets the visible column ids.
-	 * 
-	 * @param ids column identifiers
-	 */
-	protected void setColumns(String[] ids) {
-		String[] oldValue = fColumns;
-		fColumns = ids;
-		firePropertyChange(IPresentationContext.PROPERTY_COLUMNS, oldValue, ids);
-	}
-	
-	/**
-	 * Disposes this presentation context.
-	 */
-	protected void dispose() {
-		fListeners.clear();
-		fPart = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		fListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		fListeners.remove(listener);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/RemoveRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/RemoveRequestMonitor.java
deleted file mode 100644
index b85a913..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/RemoveRequestMonitor.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.jface.viewers.TreePath;
-
-
-
-/**
- * Request to remove an item from a tree.
- * 
- * @since 3.2
- */
-class RemoveRequestMonitor extends AbstractAddRemoveRequestMonitor {
-
-	/**
-	 * Removes the given node from the given model.
-	 * 
-	 * @param node
-	 * @param path path to the element to remove
-	 * @param model
-	 */
-	RemoveRequestMonitor(ModelNode node, TreePath path, AsynchronousModel model) {
-		super(node, path, model);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousModelRequestMonitor#performUpdate()
-	 */
-	protected void performUpdate() {
-		((AsynchronousTreeModel)getModel()).remove(getNode());
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableAddRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableAddRequestMonitor.java
deleted file mode 100644
index 0151bac..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableAddRequestMonitor.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-
-/**
- * @since 3.2
- *
- */
-public class TableAddRequestMonitor extends AsynchronousRequestMonitor {
-	
-	protected Object[] fElements;
-
-	/**
-	 * @param node
-	 * @param model
-	 */
-	TableAddRequestMonitor(ModelNode parent, Object elements[], AsynchronousModel model) {
-		super(parent, model);
-		fElements = elements;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousRequestMonitor#performUpdate()
-	 */
-	protected void performUpdate() {
-		((AsynchronousTableModel)getModel()).added(fElements);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousRequestMonitor#contains(org.eclipse.debug.internal.ui.model.viewers.AsynchronousRequestMonitor)
-	 */
-	protected boolean contains(AsynchronousRequestMonitor update) {
-		return false;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableEditorImpl.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableEditorImpl.java
deleted file mode 100644
index e4fda98..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableEditorImpl.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-
-/**
- * This class is copied from package org.eclipse.jface.viewers.TableEditorImpl
- * because the original has package access only.
- * 
- * TODO: complain to UI about package access to API class.
- * 
- */
-public abstract class TableEditorImpl {
-	private CellEditor fCellEditor;
-	private CellEditor[] fCellEditors;
-	private ICellModifier fCellModifier;
-	private String[] fColumnProperties;
-	private Item fTableItem;
-	private int fColumnNumber;
-	private ICellEditorListener fCellEditorListener;
-	private FocusListener fFocusListener;
-	private MouseListener fMouseListener;
-	private int fDoubleClickExpirationTime;
-	private StructuredViewer fViewer;
-
-	TableEditorImpl(StructuredViewer viewer) {
-		fViewer = viewer;
-		initCellEditorListener();
-	}
-
-	/**
-	 * Returns this <code>TableViewerImpl</code> viewer
-	 * 
-	 * @return the viewer
-	 */
-	public StructuredViewer getViewer() {
-		return fViewer;
-	}
-
-	private void activateCellEditor() {
-		if (fCellEditors != null) {
-			if (fCellEditors[fColumnNumber] != null && fCellModifier != null) {
-				Object element = fTableItem.getData();
-				String property = fColumnProperties[fColumnNumber];
-				if (fCellModifier.canModify(element, property)) {
-					fCellEditor = fCellEditors[fColumnNumber];
-					// table.showSelection();
-					fCellEditor.addListener(fCellEditorListener);
-					Object value = fCellModifier.getValue(element, property);
-					fCellEditor.setValue(value);
-					// Tricky flow of control here:
-					// activate() can trigger callback to cellEditorListener
-					// which will clear cellEditor
-					// so must get control first, but must still call activate()
-					// even if there is no control.
-					final Control control = fCellEditor.getControl();
-					fCellEditor.activate();
-					if (control == null)
-						return;
-					setLayoutData(fCellEditor.getLayoutData());
-					setEditor(control, fTableItem, fColumnNumber);
-					fCellEditor.setFocus();
-					if (fFocusListener == null) {
-						fFocusListener = new FocusAdapter() {
-							public void focusLost(FocusEvent e) {
-								applyEditorValue();
-							}
-						};
-					}
-					control.addFocusListener(fFocusListener);
-					fMouseListener = new MouseAdapter() {
-						public void mouseDown(MouseEvent e) {
-							// time wrap?
-							// check for expiration of doubleClickTime
-							if (e.time <= fDoubleClickExpirationTime) {
-								control.removeMouseListener(fMouseListener);
-								cancelEditing();
-								handleDoubleClickEvent();
-							} else if (fMouseListener != null) {
-								control.removeMouseListener(fMouseListener);
-							}
-						}
-					};
-					control.addMouseListener(fMouseListener);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Activate a cell editor for the given mouse position.
-	 */
-	private void activateCellEditor(MouseEvent event) {
-		if (fTableItem == null || fTableItem.isDisposed()) {
-			// item no longer exists
-			return;
-		}
-		int columnToEdit;
-		int columns = getColumnCount();
-		if (columns == 0) {
-			// If no TableColumn, Table acts as if it has a single column
-			// which takes the whole width.
-			columnToEdit = 0;
-		} else {
-			columnToEdit = -1;
-			for (int i = 0; i < columns; i++) {
-				Rectangle bounds = getBounds(fTableItem, i);
-				if (bounds.contains(event.x, event.y)) {
-					columnToEdit = i;
-					break;
-				}
-			}
-			if (columnToEdit == -1) {
-				return;
-			}
-		}
-
-		fColumnNumber = columnToEdit;
-		activateCellEditor();
-	}
-
-	/**
-	 * Deactivates the currently active cell editor.
-	 */
-	public void applyEditorValue() {
-		CellEditor c = fCellEditor;
-		if (c != null) {
-			// null out cell editor before calling save
-			// in case save results in applyEditorValue being re-entered
-			// see 1GAHI8Z: ITPUI:ALL - How to code event notification when
-			// using cell editor ?
-			fCellEditor = null;
-			Item t = fTableItem;
-			// don't null out table item -- same item is still selected
-			if (t != null && !t.isDisposed()) {
-				saveEditorValue(c, t);
-			}
-			setEditor(null, null, 0);
-			c.removeListener(fCellEditorListener);
-			Control control = c.getControl();
-			if (control != null) {
-				if (fMouseListener != null) {
-					control.removeMouseListener(fMouseListener);
-				}
-				if (fFocusListener != null) {
-					control.removeFocusListener(fFocusListener);
-				}
-			}
-			c.deactivate();
-		}
-	}
-
-	/**
-	 * Cancels the active cell editor, without saving the value back to the
-	 * domain model.
-	 */
-	public void cancelEditing() {
-		if (fCellEditor != null) {
-			setEditor(null, null, 0);
-			fCellEditor.removeListener(fCellEditorListener);
-			CellEditor oldEditor = fCellEditor;
-			fCellEditor = null;
-			oldEditor.deactivate();
-		}
-	}
-
-	/**
-	 * Start editing the given element.
-	 * 
-	 * @param element
-	 * @param column
-	 */
-	public void editElement(Object element, int column) {
-		if (fCellEditor != null)
-			applyEditorValue();
-
-		setSelection(new StructuredSelection(element), true);
-		Item[] selection = getSelection();
-		if (selection.length != 1)
-			return;
-
-		fTableItem = selection[0];
-
-		// Make sure selection is visible
-		showSelection();
-		fColumnNumber = column;
-		activateCellEditor();
-
-	}
-
-	abstract Rectangle getBounds(Item item, int columnNumber);
-
-	/**
-	 * Return the array of CellEditors used in the viewer
-	 * 
-	 * @return the cell editors
-	 */
-	public CellEditor[] getCellEditors() {
-		return fCellEditors;
-	}
-
-	/**
-	 * Get the cell modifier
-	 * 
-	 * @return the cell modifier
-	 */
-	public ICellModifier getCellModifier() {
-		return fCellModifier;
-	}
-
-	abstract int getColumnCount();
-
-	/**
-	 * Return the properties for the column
-	 * 
-	 * @return the array of column properties
-	 */
-	public Object[] getColumnProperties() {
-		return fColumnProperties;
-	}
-
-	abstract Item[] getSelection();
-
-	/**
-	 * Handles the mouse down event; activates the cell editor.
-	 * 
-	 * @param event
-	 *            the mouse event that should be handled
-	 */
-	public void handleMouseDown(MouseEvent event) {
-		if (event.button != 1)
-			return;
-
-		if (fCellEditor != null)
-			applyEditorValue();
-
-		// activate the cell editor immediately. If a second mouseDown
-		// is received prior to the expiration of the doubleClick time then
-		// the cell editor will be deactivated and a doubleClick event will
-		// be processed.
-		//
-		fDoubleClickExpirationTime = event.time + Display.getCurrent().getDoubleClickTime();
-
-		Item[] items = getSelection();
-		// Do not edit if more than one row is selected.
-		if (items.length != 1) {
-			fTableItem = null;
-			return;
-		}
-		fTableItem = items[0];
-		activateCellEditor(event);
-	}
-
-	private void initCellEditorListener() {
-		fCellEditorListener = new ICellEditorListener() {
-			public void editorValueChanged(boolean oldValidState, boolean newValidState) {
-				// Ignore.
-			}
-
-			public void cancelEditor() {
-				TableEditorImpl.this.cancelEditing();
-			}
-
-			public void applyEditorValue() {
-				TableEditorImpl.this.applyEditorValue();
-			}
-		};
-	}
-
-	/**
-	 * Return whether there is an active cell editor.
-	 * 
-	 * @return <code>true</code> if there is an active cell editor; otherwise
-	 *         <code>false</code> is returned.
-	 */
-	public boolean isCellEditorActive() {
-		return fCellEditor != null;
-	}
-
-	/**
-	 * Saves the value of the currently active cell editor, by delegating to the
-	 * cell modifier.
-	 */
-	private void saveEditorValue(CellEditor cellEditor, Item tableItem) {
-		if (fCellModifier != null) {
-			if (!cellEditor.isValueValid()) {
-				// /Do what ???
-			}
-			String property = null;
-			if (fColumnProperties != null && fColumnNumber < fColumnProperties.length)
-				property = fColumnProperties[fColumnNumber];
-			fCellModifier.modify(tableItem, property, cellEditor.getValue());
-		}
-	}
-
-	/**
-	 * Set the cell editors
-	 * 
-	 * @param editors
-	 */
-	public void setCellEditors(CellEditor[] editors) {
-		fCellEditors = editors;
-	}
-
-	/**
-	 * Set the cell modifier
-	 * 
-	 * @param modifier
-	 */
-	public void setCellModifier(ICellModifier modifier) {
-		fCellModifier = modifier;
-	}
-
-	/**
-	 * Set the column properties
-	 * 
-	 * @param columnProperties
-	 */
-	public void setColumnProperties(String[] columnProperties) {
-		fColumnProperties = columnProperties;
-	}
-
-	abstract void setEditor(Control w, Item item, int fColumnNumber);
-
-	abstract void setLayoutData(CellEditor.LayoutData layoutData);
-
-	abstract void setSelection(StructuredSelection selection, boolean b);
-
-	abstract void showSelection();
-
-	abstract void handleDoubleClickEvent();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableInsertRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableInsertRequestMonitor.java
deleted file mode 100644
index 4761941..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableInsertRequestMonitor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-
-/**
- * @since 3.2
- *
- */
-public class TableInsertRequestMonitor extends TableAddRequestMonitor {
-	
-	private int fIndex;
-
-	/**
-	 * @param node
-	 * @param model
-	 */
-	TableInsertRequestMonitor(ModelNode parent, Object elements[], int index, AsynchronousModel model) {
-		super(parent, elements, model);
-		fIndex = index;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousRequestMonitor#performUpdate()
-	 */
-	protected void performUpdate() {
-		((AsynchronousTableModel)getModel()).inserted(fElements, fIndex);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableRemoveRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableRemoveRequestMonitor.java
deleted file mode 100644
index e1fe7b0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableRemoveRequestMonitor.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-
-/**
- * @since 3.2
- *
- */
-public class TableRemoveRequestMonitor extends TableAddRequestMonitor {
-
-	/**
-	 * @param parent
-	 * @param elements
-	 * @param model
-	 */
-	TableRemoveRequestMonitor(ModelNode parent, Object[] elements, AsynchronousModel model) {
-		super(parent, elements, model);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousRequestMonitor#performUpdate()
-	 */
-	protected void performUpdate() {
-		((AsynchronousTableModel)getModel()).removed(fElements);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableReplaceRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableReplaceRequestMonitor.java
deleted file mode 100644
index ae6a859..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableReplaceRequestMonitor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-
-/**
- * @since 3.2
- *
- */
-public class TableReplaceRequestMonitor extends AsynchronousRequestMonitor {
-	
-	private Object fOriginal;
-	private Object fReplacement;
-
-	/**
-	 * @param node
-	 * @param model
-	 */
-	TableReplaceRequestMonitor(ModelNode node, Object element, Object replacement, AsynchronousModel model) {
-		super(node, model);
-		fReplacement = replacement;
-		fOriginal = element;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousRequestMonitor#performUpdate()
-	 */
-	protected void performUpdate() {
-		((AsynchronousTableModel)getModel()).replaced(fOriginal, fReplacement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousRequestMonitor#contains(org.eclipse.debug.internal.ui.model.viewers.AsynchronousRequestMonitor)
-	 */
-	protected boolean contains(AsynchronousRequestMonitor update) {
-		return false;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableUpdatePolicy.java
deleted file mode 100644
index 4e81f86..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableUpdatePolicy.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelChangedListener;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-/**
- * Default update policy updates a viewer based on model deltas.
- * 
- * @since 3.2
- */
-public class TableUpdatePolicy extends org.eclipse.debug.internal.ui.viewers.AbstractUpdatePolicy implements IModelChangedListener {
-
-    public void modelChanged(IModelDelta delta) {
-        updateNodes(new IModelDelta[] {delta});
-    }
-
-    private void handleState(IModelDelta node) {
-        AsynchronousViewer viewer = getViewer();
-        if (viewer != null) {
-            Object element = node.getElement();
-			viewer.update(element);
-            updateSelection(element, node.getFlags());
-        }
-    }
-    private void handleContent(IModelDelta node) {
-    	AsynchronousViewer viewer = getViewer();
-        if (viewer != null) {
-        	Object element = node.getElement();
-			viewer.refresh(element);
-        	updateSelection(element, node.getFlags());
-        }
-    }
-
-    private void updateSelection(Object element, int flags) {
-    	AsynchronousViewer viewer = getViewer();
-        if (viewer != null) {
-            if ((flags & IModelDelta.SELECT) != 0) {
-                getViewer().setSelection(new StructuredSelection(element));
-            }
-        }
-    }
-
-    protected void updateNodes(IModelDelta[] nodes) {
-        for (int i = 0; i < nodes.length; i++) {
-            IModelDelta node = nodes[i];
-            int flags = node.getFlags();
-
-            if ((flags & IModelDelta.STATE) != 0) {
-                handleState(node);
-            }
-            if ((flags & IModelDelta.CONTENT) != 0) {
-                handleContent(node);
-            }
-            if ((flags & IModelDelta.ADDED) != 0) {
-                handleAdd(node);
-            } 
-            if ((flags & IModelDelta.REMOVED) != 0) {
-                handleRemove(node);
-            }
-            if ((flags & IModelDelta.REPLACED) != 0) {
-                handleReplace(node);
-            }
-            if ((flags & IModelDelta.INSERTED) != 0) {
-                handleInsert(node);
-            }
-
-            IModelDelta[] childNodes = node.getNodes();
-            updateNodes(childNodes);
-        }
-    }
-
-    private void handleInsert(IModelDelta node) {
-        AsynchronousTableViewer viewer = (AsynchronousTableViewer) getViewer();
-        if (viewer != null) {
-            viewer.insert(node.getElement(), node.getIndex());
-            updateSelection(node.getElement(), node.getFlags());
-        }
-    }
-
-    private void handleReplace(IModelDelta node) {
-        AsynchronousTableViewer viewer = (AsynchronousTableViewer) getViewer();
-        if (viewer != null) {
-            viewer.replace(node.getElement(), node.getReplacementElement());
-            updateSelection(node.getReplacementElement(), node.getFlags());
-        }
-    }
-
-    protected void handleAdd(IModelDelta node) {
-        ((AsynchronousTableViewer) getViewer()).add(node.getElement());
-        updateSelection(node.getElement(), node.getFlags());
-    }
-
-    protected void handleRemove(IModelDelta node) {
-        ((AsynchronousTableViewer) getViewer()).remove(node.getElement());
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeEditorImpl.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeEditorImpl.java
deleted file mode 100644
index 6517a9d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeEditorImpl.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-
-/**
- * Internal tree viewer implementation.
- * 
- * TODO: Copied from JFace. Should attempt to reduce code duplication in future
- */
-/* package */abstract class TreeEditorImpl {
-
-    private CellEditor cellEditor;
-
-    private CellEditor[] cellEditors;
-
-    private ICellModifier cellModifier;
-
-    private String[] columnProperties;
-
-    private Item treeItem;
-
-    private int columnNumber;
-
-    private ICellEditorListener cellEditorListener;
-
-    private FocusListener focusListener;
-
-    private MouseListener mouseListener;
-
-    private int doubleClickExpirationTime;
-
-    private StructuredViewer viewer;
-
-    TreeEditorImpl(StructuredViewer viewer) {
-        this.viewer = viewer;
-        initCellEditorListener();
-    }
-
-    /**
-     * Returns this <code>TreeViewerImpl</code> viewer
-     * 
-     * @return the viewer
-     */
-    public StructuredViewer getViewer() {
-        return viewer;
-    }
-
-    private void activateCellEditor() {
-        if (cellEditors != null) {
-            if (cellEditors[columnNumber] != null && cellModifier != null) {
-                Object element = treeItem.getData();
-                String property = columnProperties[columnNumber];
-                if (cellModifier.canModify(element, property)) {
-                    cellEditor = cellEditors[columnNumber];
-                    //tree.showSelection();
-                    cellEditor.addListener(cellEditorListener);
-                    Object value = cellModifier.getValue(element, property);
-                    cellEditor.setValue(value);
-                    // Tricky flow of control here:
-                    // activate() can trigger callback to cellEditorListener which will clear cellEditor
-                    // so must get control first, but must still call activate() even if there is no control.
-                    final Control control = cellEditor.getControl();
-                    cellEditor.activate();
-                    if (control == null) {
-						return;
-					}
-                    setLayoutData(cellEditor.getLayoutData());
-                    setEditor(control, treeItem, columnNumber);
-                    cellEditor.setFocus();
-                    if (focusListener == null) {
-                        focusListener = new FocusAdapter() {
-                            public void focusLost(FocusEvent e) {
-                                applyEditorValue();
-                            }
-                        };
-                    }
-                    control.addFocusListener(focusListener);
-                    mouseListener = new MouseAdapter() {
-                        public void mouseDown(MouseEvent e) {
-                            // time wrap?	
-                            // check for expiration of doubleClickTime
-                            if (e.time <= doubleClickExpirationTime) {
-                                control.removeMouseListener(mouseListener);
-                                cancelEditing();
-                                handleDoubleClickEvent();
-                            } else if (mouseListener != null) {
-                                control.removeMouseListener(mouseListener);
-                            }
-                        }
-                    };
-                    control.addMouseListener(mouseListener);
-                }
-            }
-        }
-    }
-
-    /**
-     * Activate a cell editor for the given mouse position.
-     */
-    private void activateCellEditor(MouseEvent event) {
-        if (treeItem == null || treeItem.isDisposed()) {
-            //item no longer exists
-            return;
-        }
-        int columnToEdit;
-        int columns = getColumnCount();
-        if (columns == 0) {
-            // If no TreeColumn, Tree acts as if it has a single column
-            // which takes the whole width.
-            columnToEdit = 0;
-        } else {
-            columnToEdit = -1;
-            for (int i = 0; i < columns; i++) {
-                Rectangle bounds = getBounds(treeItem, i);
-                if (bounds.contains(event.x, event.y)) {
-                    columnToEdit = i;
-                    break;
-                }
-            }
-            if (columnToEdit == -1) {
-                return;
-            }
-        }
-
-        columnNumber = columnToEdit;
-        activateCellEditor();
-    }
-
-    /**
-     * Deactivates the currently active cell editor.
-     */
-    public void applyEditorValue() {
-        CellEditor c = this.cellEditor;
-        if (c != null) {
-            // null out cell editor before calling save
-            // in case save results in applyEditorValue being re-entered
-            // see 1GAHI8Z: ITPUI:ALL - How to code event notification when using cell editor ?
-            this.cellEditor = null;
-            Item t = this.treeItem;
-            // don't null out tree item -- same item is still selected
-            if (t != null && !t.isDisposed()) {
-                saveEditorValue(c, t);
-            }
-            setEditor(null, null, 0);
-            c.removeListener(cellEditorListener);
-            Control control = c.getControl();
-            if (control != null) {
-                if (mouseListener != null) {
-                    control.removeMouseListener(mouseListener);
-                }
-                if (focusListener != null) {
-                    control.removeFocusListener(focusListener);
-                }
-            }
-            c.deactivate();
-        }
-    }
-
-    /**
-     * Cancels the active cell editor, without saving the value 
-     * back to the domain model.
-     */
-    public void cancelEditing() {
-        if (cellEditor != null) {
-            setEditor(null, null, 0);
-            cellEditor.removeListener(cellEditorListener);
-            CellEditor oldEditor = cellEditor;
-            cellEditor = null;
-            oldEditor.deactivate();
-        }
-    }
-
-    /**
-     * Start editing the given element. 
-     * @param element
-     * @param column
-     */
-    public void editElement(Object element, int column) {
-        if (cellEditor != null) {
-			applyEditorValue();
-		}
-
-        IStructuredSelection structuredSelection;
-        if(element instanceof TreePath) {
-        	structuredSelection = new TreeSelection((TreePath)element, viewer.getComparer());
-        } else {
-        	structuredSelection = new StructuredSelection(element);
-        }
-        setSelection(structuredSelection, true);
-        Item[] selection = getSelection();
-        if (selection.length != 1) {
-			return;
-		}
-
-        treeItem = selection[0];
-
-        // Make sure selection is visible
-        showSelection();
-        columnNumber = column;
-        activateCellEditor();
-
-    }
-
-    abstract Rectangle getBounds(Item item, int columnIndex);
-
-    /**
-     * Get the Cell Editors for the receiver.
-     * @return CellEditor[]
-     */
-    public CellEditor[] getCellEditors() {
-        return cellEditors;
-    }
-
-    /**
-     * Get the cell modifier for the receiver.
-     * @return ICellModifier
-     */
-    public ICellModifier getCellModifier() {
-        return cellModifier;
-    }
-
-    abstract int getColumnCount();
-
-    /**
-     * Get the column properties for the receiver.
-     * @return Object[]
-     */
-    public Object[] getColumnProperties() {
-        return columnProperties;
-    }
-
-    abstract Item[] getSelection();
-
-    /**
-     * Handles the mouse down event; activates the cell editor.
-     * @param event
-     */
-    public void handleMouseDown(MouseEvent event) {
-        if (event.button != 1) {
-			return;
-		}
-
-        if (cellEditor != null) {
-			applyEditorValue();
-		}
-
-        // activate the cell editor immediately.  If a second mouseDown
-        // is received prior to the expiration of the doubleClick time then
-        // the cell editor will be deactivated and a doubleClick event will
-        // be processed.
-        //
-        doubleClickExpirationTime = event.time
-                + Display.getCurrent().getDoubleClickTime();
-
-        Item[] items = getSelection();
-        // Do not edit if more than one row is selected.
-        if (items.length != 1) {
-            treeItem = null;
-            return;
-        }
-        treeItem = items[0];
-        activateCellEditor(event);
-    }
-
-    private void initCellEditorListener() {
-        cellEditorListener = new ICellEditorListener() {
-            public void editorValueChanged(boolean oldValidState,
-                    boolean newValidState) {
-                // Ignore.
-            }
-
-            public void cancelEditor() {
-                TreeEditorImpl.this.cancelEditing();
-            }
-
-            public void applyEditorValue() {
-                TreeEditorImpl.this.applyEditorValue();
-            }
-        };
-    }
-
-    /**
-     * Return whether or not there is an active cell editor.
-     * @return boolean <code>true</code> if there is an active cell editor; otherwise
-     * <code>false</code> is returned.
-     */
-    public boolean isCellEditorActive() {
-        return cellEditor != null;
-    }
-
-    /**
-     * Saves the value of the currently active cell editor,
-     * by delegating to the cell modifier.
-     */
-    private void saveEditorValue(CellEditor editor, Item item) {
-        if (cellModifier != null) {
-            String property = null;
-            if (columnProperties != null
-                    && columnNumber < columnProperties.length) {
-				property = columnProperties[columnNumber];
-			}
-            cellModifier.modify(item.getData(), property, editor.getValue());
-        }
-    }
-
-    /**
-     * Set the cell editors for the receiver.
-     * @param editors
-     */
-    public void setCellEditors(CellEditor[] editors) {
-        this.cellEditors = editors;
-    }
-
-    /**
-     * Set the cell modifier for the receiver.
-     * @param modifier
-     */
-    public void setCellModifier(ICellModifier modifier) {
-        this.cellModifier = modifier;
-    }
-
-    /**
-     * Set the column properties for the receiver.
-     * @param columnProperties
-     */
-    public void setColumnProperties(String[] columnProperties) {
-        this.columnProperties = columnProperties;
-    }
-
-    abstract void setEditor(Control w, Item item, int fColumnNumber);
-
-    abstract void setLayoutData(CellEditor.LayoutData layoutData);
-
-    abstract void setSelection(IStructuredSelection selection, boolean b);
-
-    abstract void showSelection();
-
-    abstract void handleDoubleClickEvent();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeUpdatePolicy.java
deleted file mode 100644
index 2f1a31a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeUpdatePolicy.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers;
-
-import java.util.ArrayList;
-
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelChangedListener;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-
-/**
- * Default update policy updates a viewer based on model deltas.
- * 
- * @since 3.2
- */
-public class TreeUpdatePolicy extends AbstractUpdatePolicy implements IModelChangedListener {
-	
-	// cache of latest tree path for a node
-	private TreePath fTreePath;
-	private IModelDelta fNode;
-
-    public void modelChanged(IModelDelta delta) {
-        updateNodes(new IModelDelta[] { delta });
-        fTreePath = null;
-        fNode = null;
-    }
-
-    protected void updateNodes(IModelDelta[] nodes) {
-        AsynchronousTreeViewer viewer = (AsynchronousTreeViewer) getViewer();
-        if (viewer == null) {
-            return;
-        }
-
-        for (int i = 0; i < nodes.length; i++) {
-            IModelDelta node = nodes[i];
-            int flags = node.getFlags();
-
-            if ((flags & IModelDelta.ADDED) != 0) {
-                handleAdd(viewer, node);
-            }
-            if ((flags & IModelDelta.REMOVED) != 0) {
-                handleRemove(viewer, node);
-            }
-            if ((flags & IModelDelta.CONTENT) != 0) {
-                handleContent(viewer, node);
-            }
-            if ((flags & IModelDelta.EXPAND) != 0) {
-                handleExpand(viewer, node);
-            }
-            if ((flags & IModelDelta.SELECT) != 0) {
-                handleSelect(viewer, node);
-            }
-            if ((flags & IModelDelta.STATE) != 0) {
-                handleState(viewer, node);
-            }
-            if ((flags & IModelDelta.INSERTED) != 0) {
-                // TODO
-            }
-            if ((flags & IModelDelta.REPLACED) != 0) {
-                // TODO
-            }
-
-            updateNodes(node.getNodes());
-        }
-    }
-
-    protected void handleState(AsynchronousTreeViewer viewer, IModelDelta delta) {
-        viewer.update(delta.getElement());
-    }
-
-    protected void handleSelect(AsynchronousTreeViewer viewer, IModelDelta delta) {
-        viewer.setSelection(new TreeSelection(getTreePath(delta)));
-    }
-
-    protected void handleExpand(AsynchronousTreeViewer viewer, IModelDelta delta) {
-        viewer.expand(new TreeSelection(getTreePath(delta)));
-    }
-
-    protected void handleContent(AsynchronousTreeViewer viewer, IModelDelta delta) {
-        viewer.refresh(delta.getElement());
-    }
-
-    protected void handleRemove(AsynchronousTreeViewer viewer, IModelDelta delta) {
-        viewer.remove(getTreePath(delta));
-    }
-
-    protected void handleAdd(AsynchronousTreeViewer viewer, IModelDelta delta) {
-        viewer.add(getTreePath(delta));
-    }
-
-    protected TreePath getTreePath(IModelDelta node) {
-    	if (node != fNode) {
-            ArrayList list = new ArrayList();
-            list.add(0, node.getElement());
-            while (node.getParent() != null) {
-                node = node.getParent();
-                list.add(0, node.getElement());
-            }
-
-            fTreePath = new TreePath(list.toArray());
-            fNode = node;
-    	}
-        return fTreePath;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnEditor.java
deleted file mode 100644
index 86687a4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnEditor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-
-/**
- * Common function for a column editor.
- * <p>
- * Clients implementing <code>IColumnEditor</code> must subclass this class.
- * </p>
- * @since 3.2
- */
-public abstract class AbstractColumnEditor implements IColumnEditor {
-	
-	private IPresentationContext fContext;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#init(org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
-	 */
-	public void init(IPresentationContext context) {
-		fContext = context;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#dispose()
-	 */
-	public void dispose() {
-		fContext = null;
-	}
-	
-	/**
-	 * Returns the context this column presentation is installed in.
-	 * 
-	 * @return presentation context
-	 */
-	protected IPresentationContext getPresentationContext() {
-		return fContext;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnPresentation.java
deleted file mode 100644
index fc47038..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnPresentation.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Common function for a column presentation.
- * <p>
- * Clients implementing <code>IColumnPresentation</code> must subclass this class.
- * </p>
- * @since 3.2
- */
-public abstract class AbstractColumnPresentation implements IColumnPresentation {
-	
-	private IPresentationContext fContext;
-	
-	/**
-	 * Empty array of strings
-	 */
-	protected static final String[] EMPTY = new String[0];
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#init(org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
-	 */
-	public void init(IPresentationContext context) {
-		fContext = context;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#dispose()
-	 */
-	public void dispose() {
-		fContext = null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#getImageDescriptor(java.lang.String)
-	 */
-	public ImageDescriptor getImageDescriptor(String id) {
-		return null;
-	}
-
-	/**
-	 * Returns the context this column presentation is installed in.
-	 * 
-	 * @return presentation context
-	 */
-	protected IPresentationContext getPresentationContext() {
-		return fContext;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java
deleted file mode 100644
index b1dae3c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-
-/**
- * Common function for model proxies.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.2
- */
-public abstract class AbstractModelProxy implements IModelProxy {
-	
-	private IPresentationContext fContext;
-
-	private ListenerList fListeners = new ListenerList();
-
-	protected Object[] getListeners() {
-		synchronized (fListeners) {
-			return fListeners.getListeners();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.IModelProxy#addModelChangedListener(org.eclipse.debug.internal.ui.viewers.IModelChangedListener)
-	 */
-	public void addModelChangedListener(IModelChangedListener listener) {
-		synchronized (fListeners) {
-			fListeners.add(listener);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.IModelProxy#removeModelChangedListener(org.eclipse.debug.internal.ui.viewers.IModelChangedListener)
-	 */
-	public void removeModelChangedListener(IModelChangedListener listener) {
-		synchronized (fListeners) {
-			fListeners.remove(listener);
-		}
-	}
-
-	/**
-	 * Notifies registered listeners of the given delta.
-	 * 
-	 * @param delta model delta to broadcast
-	 */
-	public void fireModelChanged(final IModelDelta delta) {
-		Object[] listeners = getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			final IModelChangedListener listener = (IModelChangedListener) listeners[i];
-			ISafeRunnable safeRunnable = new ISafeRunnable() {
-				public void handleException(Throwable exception) {
-					DebugUIPlugin.log(exception);
-				}
-
-				public void run() throws Exception {
-					listener.modelChanged(delta);
-				}
-
-			};
-            SafeRunner.run(safeRunnable);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.IModelProxy#dispose()
-	 */
-	public synchronized void dispose() {
-		fContext = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.IModelProxy#init(org.eclipse.debug.internal.ui.viewers.IPresentationContext)
-	 */
-	public void init(IPresentationContext context) {
-		fContext = context;
-	}
-	
-	/**
-	 * Returns the context this model proxy is installed in.
-	 * 
-	 * @return presentation context, or <code>null</code> if this
-	 *  model proxy has been disposed
-	 */
-	public IPresentationContext getPresentationContext() {
-		return fContext;
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should override as required.
-	 * 
-	 * @see org.eclipse.debug.internal.ui.viewers.IModelProxy#installed()
-	 */
-	public void installed() {	
-	}
-	
-	
-	
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousContentAdapter.java
deleted file mode 100644
index 2f36d14..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousContentAdapter.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousSchedulingRuleFactory;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Abstract implementation of an asynchronous content adapter.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.2
- */
-public abstract class AsynchronousContentAdapter implements IAsynchronousContentAdapter {
-	
-	protected static final Object[] EMPTY = new Object[0];
-	
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousContentAdapter#retrieveChildren(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.provisional.IChildrenRequestMonitor)
-     */
-    public void retrieveChildren(final Object parent, final IPresentationContext context, final IChildrenRequestMonitor result) {
-		Job job = new Job("Retrieving Children") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				if (!monitor.isCanceled()) {
-					computeChildren(parent, context, result);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(getRetrieveChildrenRule(parent, context));
-		job.schedule();
-	}
-    
-    /**
-     * Returns the scheduling rule for jobs retrieving children.
-     * 
-     * @param parent
-     * @param context
-     * @return scheduling rule or <code>null</code>
-     */
-    protected ISchedulingRule getRetrieveChildrenRule(Object parent, IPresentationContext context) {
-    	return AsynchronousSchedulingRuleFactory.getDefault().newSerialPerPartRule(context);
-    }
-    
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousContentAdapter#isContainer(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.provisional.IContainerRequestMonitor)
-     */
-    public void isContainer(final Object element, final IPresentationContext context, final IContainerRequestMonitor result) {
-		Job job = new Job("Computing hasChildren") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				if (!monitor.isCanceled()) {
-					computeIsContainer(element, context, result);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(getIsContainerRule(element, context));
-		job.schedule();
-	}
-    
-    /**
-     * Returns the scheduling rule for jobs determingin if an element is a container.
-     * 
-     * @param parent
-     * @param context
-     * @return scheduling rule or <code>null</code>
-     */
-    protected ISchedulingRule getIsContainerRule(Object parent, IPresentationContext context) {
-    	return AsynchronousSchedulingRuleFactory.getDefault().newSerialPerPartRule(context);
-    }
-    
-    /**
-     * Computes the children for the given parent in the specified context.
-     * 
-     * @param parent parent to retrieve children for
-     * @param context presentation contenxt
-     * @param monitor result to report to
-     */
-    protected void computeChildren(Object parent, IPresentationContext context, IChildrenRequestMonitor monitor) {
-		if (!monitor.isCanceled()) {
-			IStatus status = Status.OK_STATUS;
-			try {
-				if (supportsContext(context)) {
-					monitor.addChildren(getChildren(parent, context));
-				}
-			} catch (CoreException e) {
-				status = e.getStatus();
-			}
-			monitor.setStatus(status);
-			monitor.done();
-		}    	
-    }
-    
-    /**
-     * Computes whether the given element is a container.
-     * 
-     * @param parent potential parent
-     * @param context presentation contenxt
-     * @param monitor result to report to
-     */
-    protected void computeIsContainer(Object parent, IPresentationContext context, IContainerRequestMonitor monitor) {
-		if (!monitor.isCanceled()) {
-			IStatus status = Status.OK_STATUS;
-			try {
-				monitor.setIsContainer(hasChildren(parent, context));
-			} catch (CoreException e) {
-				status = e.getStatus();
-			}
-			monitor.setStatus(status);
-			monitor.done();
-		}    	
-    }    
-        
-    /**
-     * Returns the children for the given parent in the specified context.
-     * 
-     * @param parent element to retrieve children for
-     * @param context context children will be presented in
-     * @return children
-     * @throws CoreException if an exception occurrs retieving children
-     */
-    protected abstract Object[] getChildren(Object parent, IPresentationContext context) throws CoreException;
-    
-    /**
-     * Returns whether the given element has children in the specified context.
-     * 
-     * @param element element that may have children
-     * @param context context element will be presented in
-     * @return whether the given element has children in the specified context
-     * @throws CoreException if an exception occurrs determining whether the
-     *  element has children
-     */
-    protected abstract boolean hasChildren(Object element, IPresentationContext context) throws CoreException;    
-
-    /**
-     * Returns whether this adapter supports the given context.
-     * 
-     * @param context
-     * @return whether this adapter supports the given context
-     */
-    protected boolean supportsContext(IPresentationContext context) {
-		IWorkbenchPart part = context.getPart();
-		if (part != null) {
-			return supportsPartId(part.getSite().getId());
-		}
-		return true;    	
-    }
-    
-    /**
-     * Returns whether this adapter provides content in the specified part.
-     * 
-     * @param id part id
-     * @return whether this adapter provides content in the specified part
-     */
-    protected abstract boolean supportsPartId(String id);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousLabelAdapter.java
deleted file mode 100644
index 88d981e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousLabelAdapter.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousSchedulingRuleFactory;
-import org.eclipse.debug.internal.ui.views.launch.DebugElementHelper;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * Abstract implementation of an asynchronous label adapter
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.2
- */
-public abstract class AsynchronousLabelAdapter implements IAsynchronousLabelAdapter {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.IAsynchronousLabelAdapter#retrieveLabel(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext, org.eclipse.debug.ui.viewers.ILabelRequestMonitor)
-	 */
-	public void retrieveLabel(final Object element, final IPresentationContext context, final ILabelRequestMonitor result) {
-		Job job = null;
-		if (requiresUIJob(element)) {
-			job = new UIJob("Retrieving labels") { //$NON-NLS-1$
-				public IStatus runInUIThread(IProgressMonitor monitor) {
-					computeLabels(element, context, result);
-					return Status.OK_STATUS;
-				}
-			};
-		} else {
-			job = new Job("Retrieving labels") { //$NON-NLS-1$
-				protected IStatus run(IProgressMonitor monitor) {
-					computeLabels(element, context, result);
-					return Status.OK_STATUS;
-				}
-			};
-		}
-		job.setSystem(true);
-		job.setRule(getLabelRule(element, context));
-		job.schedule();
-	}
-	
-    /**
-     * Returns the scheduling rule for label jobs.
-     * 
-     * @param element
-     * @param context
-     * @return scheduling rule or <code>null</code>
-     */
-    protected ISchedulingRule getLabelRule(Object element, IPresentationContext context) {
-    	return AsynchronousSchedulingRuleFactory.getDefault().newSerialPerPartRule(context);
-    }
-	
-	/**
-	 * Returns whether this label adapter requires to be run in the UI thread.
-	 * By default, label jobs are not run in the UI thread. Subclasses should
-	 * override if required.
-	 * 
-	 * @return whether this label adapter requires to be run in the UI thread.
-	 */
-	protected boolean requiresUIJob(Object object) {
-		return !DebugElementHelper.isInitialized(object);
-	}
-	
-	/**
-	 * Computes label attributes for the given element in the specified context.
-	 * 
-	 * @param element element to compute label for
-	 * @param context presentation context
-	 * @param result monitor to report results to
-	 */
-	protected void computeLabels(Object element, IPresentationContext context, ILabelRequestMonitor monitor) {
-		if (!monitor.isCanceled()) {
-			IStatus status = Status.OK_STATUS;
-			try {
-				monitor.setLabels(getLabels(element, context));
-				if (!monitor.isCanceled()) {
-					monitor.setImageDescriptors(getImageDescriptors(element, context));
-				}
-				if (!monitor.isCanceled()) {
-					monitor.setFontDatas(getFontDatas(element, context));
-				}
-				if (!monitor.isCanceled()) {
-					monitor.setBackgrounds(getBackgrounds(element, context));
-				}
-				if (!monitor.isCanceled()) {
-					monitor.setForegrounds(getForegrounds(element, context));
-				}
-			} catch (CoreException e) {
-				status = e.getStatus();
-			}
-			if (!monitor.isCanceled()) {
-				monitor.setStatus(status);
-				monitor.done();
-			}
-		}
-	}	
-	
-	/**
-	 * Returns a label for the give element in the specified context.
-	 * 
-	 * @param element element to compute label for
-	 * @param context presentation context
-	 * @return label
-	 * @exception CoreException if an exception occurrs computing label
-	 */
-    protected abstract String[] getLabels(Object element, IPresentationContext context) throws CoreException;
-    
-    /**
-     * Returns an image descriptor for the given element in the specified context
-     * or <code>null</code>.
-     * 
-     * @param element element to compute image descriptor for
-     * @param context presentation context
-     * @return image descriptor or <code>null</code>
-     * @throws CoreException if an exception occurrs computing image descriptor
-     */
-    protected abstract ImageDescriptor[] getImageDescriptors(Object element, IPresentationContext context) throws CoreException;
-    
-    /**
-     * Returns font data for the given element in the specified context or <code>null</code>
-     * to use the default font.
-     * 
-     * @param element element to compute font data for
-     * @param context presentation context
-     * @return font data or <code>null</code>
-     * @throws CoreException if an exception occurrs computing font data
-     */
-    protected abstract FontData[] getFontDatas(Object element, IPresentationContext context) throws CoreException;
-    
-    /**
-     * Returns a foreground color for the given element in the specified context or <code>null</code>
-     * to use the default color.
-     * 
-     * @param element element to compute color for
-     * @param context presentation context
-     * @return color or <code>null</code>
-     * @throws CoreException if an exception occurrs computing color
-     */
-    protected abstract RGB[] getForegrounds(Object element, IPresentationContext context) throws CoreException;
-    
-    /**
-     * Returns a background color for the given element in the specified context or <code>null</code>
-     * to use the default color.
-     * 
-     * @param element element to compute color for
-     * @param context presentation context
-     * @return color or <code>null</code>
-     * @throws CoreException if an exception occurrs computing color
-     */
-    protected abstract RGB[] getBackgrounds(Object element, IPresentationContext context) throws CoreException;
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousContentAdapter.java
deleted file mode 100644
index 33e92d6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousContentAdapter.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-/**
- * Provides content for elements in an asynchronous viewer. Note that implementations
- * must provide content asynchronously. 
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.2
- */
-public interface IAsynchronousContentAdapter {
-
-    /**
-     * Asynchronously retrieves the children of the given parent reporting to the
-     * given monitor. If unable to retrieve children, an exception should be reported
-     * to the monitor with an appropriate status.
-     * 
-     * @param parent the element to retrieve children for
-     * @param context the context in which children have been requested
-     * @param monitor request monitor to report children to
-     */
-    public void retrieveChildren(Object parent, IPresentationContext context, IChildrenRequestMonitor result);
-    
-    /**
-     * Asynchronously determines whether the given element contains children in the specified
-     * context reporting the result to the given monitor. If unable to determine
-     * whether the element has children, an exception should be reported to the monitor
-     * with an appropriate status.
-     * 
-     * @param element the element on which children may exist 
-     * @param context the context in which children may exist
-     * @param monitor request monitor to report the result to
-     */
-    public void isContainer(Object element, IPresentationContext context, IContainerRequestMonitor result);
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousLabelAdapter.java
deleted file mode 100644
index 9ee685d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousLabelAdapter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-/**
- * Provides labels for elements. Note that implementations
- * are must provide labels asynchronously. 
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.2
- */
-public interface IAsynchronousLabelAdapter {
-    
-    /**
-     * Asynchronously retrieves the label of the given object reporting to
-     * the given monitor. If unable to retrieve label information, an exception should be
-     * reported to the monitor with an appropriate status.
-     *  
-     * @param object the element for which a label is requested
-     * @param context the context in which the label has been requested
-     * @param monitor request monitor to report the result to
-     */
-    public void retrieveLabel(Object object, IPresentationContext context, ILabelRequestMonitor result);
-    
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousRequestMonitor.java
deleted file mode 100644
index b5767a7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousRequestMonitor.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Common interface for requests made on elements in an asynchronous viewer. Results
- * of a request are reported to a request monitor asynchronously (usually a
- * specialization of this interface). An request may be cancelled by the client
- * making the request, or by the adapter fulfilling the request.
- * Adapters may report failure by setting an appropriate status on this monitor. When a request
- * is complete, an adapter must call <code>done()</code> on the monitor, no matter
- * if the update succeeded or failed. The <code>done()</code> method does not need to be
- * called if a request is canceled.
- * <p>
- * Operations accepting a request monitor are expected to poll the
- * monitor (using <code>isCanceled</code>) periodically and abort at their
- * earliest convenience.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @since 3.2
- */
-public interface IAsynchronousRequestMonitor extends IProgressMonitor {
-
-    /**
-     * Sets the status of this request, possibly <code>null</code>.
-     * When a request fails, the status indicates why the request failed.
-     * A <code>null</code> status is considered to be successful.
-     * 
-     * @param status request status
-     */
-    public void setStatus(IStatus status);
-    
-    /**
-     * Returns the status of this request, or <code>null</code>.
-     * 
-     * @return request status or <code>null</code>
-     */
-    public IStatus getStatus();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IChildrenRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IChildrenRequestMonitor.java
deleted file mode 100644
index bf8fc85..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IChildrenRequestMonitor.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-/**
- * A request monitor that collects children from an asynchronous tree content adapter.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @since 3.2
- */
-public interface IChildrenRequestMonitor extends IAsynchronousRequestMonitor {
-
-	/**
-	 * Adds the given child to this request.
-	 * 
-	 * @param child child to add
-	 */
-    public void addChild(Object child);
-    
-    /**
-     * Adds the given children to this request.
-     * 
-     * @param children children to add
-     */
-    public void addChildren(Object[] children);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnEditor.java
deleted file mode 100644
index 3d17a29..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnEditor.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Creates cell modifiers and editors. Used in conjunction with a column presentation.
- *  
- * @since 3.2
- */
-public interface IColumnEditor {
-	
-	/**
-	 * Initializes this column editor to be used in the
-	 * given context.
-	 * 
-	 * @param context
-	 */
-	public void init(IPresentationContext context);
-	
-	/**
-	 * Disposes tihs column presentation
-	 */
-	public void dispose();	
-	
-	/**
-	 * Returns a cell editor to use for the specified column and object or <code>null</code>
-	 * if none.
-	 * 
-	 * @param id column id
-	 * @param element object to be edited
-	 * @param parent parent control to create the cell editor in
-	 * @return cell editor or <code>null</code>
-	 */
-	public CellEditor getCellEditor(String id, Object element, Composite parent);
-	
-	/**
-	 * Returns the cell modifier for this set of columns.
-	 * 
-	 * @return cell modifier
-	 */
-	public ICellModifier getCellModifier();	
-
-	/**
-	 * Returns an identifier for this column editor.
-	 * The identifier should be unique per kind of column editor 
-	 * (for example, the column editor for Java variables
-	 * in the variables view).
-	 * 
-	 * @return identifier
-	 */
-	public String getId();	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnEditorFactoryAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnEditorFactoryAdapter.java
deleted file mode 100644
index 267fbc5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnEditorFactoryAdapter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-/**
- * An adapter used to column editors. Used in conjunction with a column presentation.
- * 
- * @since 3.2
- */
-public interface IColumnEditorFactoryAdapter {
-
-	/**
-	 * Constructs and returns the column editor for the given presentation
-	 * context (view) and element, or <code>null</code> of none.
-	 * 
-	 * @param context presentation context
-	 * @param element the element
-	 * @return column editor or <code>null</code>
-	 */
-	public IColumnEditor createColumnEditor(IPresentationContext context, Object element);
-	
-	/**
-	 * Returns the type of column editor to be used for the given context and object
-	 * or <code>null</code> if none. Allows a previous column editor to be re-used if
-	 * it has not changed type.
-	 * 
-	 * @param context presentaiton context
-	 * @param element element
-	 * @return column edtior id or <code>null</code>
-	 */
-	public String getColumnEditorId(IPresentationContext context, Object element);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnPresentation.java
deleted file mode 100644
index d5329c3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnPresentation.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Defines the possible set of columns presented in a view for a model.
- * A column presentation is customizable per presentation context (view) and
- * view input, and is created by an <code>IColumnPresentationFactoryAdapter</code>.
- * 
- * @since 3.2
- */
-public interface IColumnPresentation {
-	
-	/**
-	 * Initializes this column presentation to be used in the
-	 * given context.
-	 * 
-	 * @param context
-	 */
-	public void init(IPresentationContext context);
-	
-	/**
-	 * Disposes tihs column presentation
-	 */
-	public void dispose();
-	
-	/**
-	 * Returns an array of all columns supported by this adapter as
-	 * column identifiers.
-	 * 
-	 * @return column identifiers
-	 */
-	public String[] getAvailableColumns();
-	
-	/**
-	 * Returns an ordered array of columns that should be displayed initially for
-	 * this presentation as column ids.
-	 * 
-	 * @return initial columns to display
-	 */
-	public String[] getInitialColumns();
-	
-	/**
-	 * Returns the column header for the column with the given identifier.
-	 * 
-	 * @param id a column identifier included in <code>getColumns()</code>
-	 * @return column header
-	 */
-	public String getHeader(String id);
-	
-	/**
-	 * Returns the image for the column with the given identifier, or <code>null</code>
-	 * 
-	 * @param id column id
-	 * @return image descriptor or <code>null</code>
-	 */
-	public ImageDescriptor getImageDescriptor(String id);
-	
-	/**
-	 * Returns an identifier for this columns presentation.
-	 * The identifier should be unique per kind of column presentation 
-	 * (for example, the column presentation for Java stack frames
-	 * in the variables view). Allows visible column information to be
-	 * persisted by the platform.
-	 * 
-	 * @return identifier
-	 */
-	public String getId();
-	
-	/**
-	 * Returns whether this column presentation is optional. When a column presentation
-	 * is optional, the user may toggle columns on/off.
-	 * 
-	 * @return whether this column presentation is optional
-	 */
-	public boolean isOptional();
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnPresentationFactoryAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnPresentationFactoryAdapter.java
deleted file mode 100644
index d29541c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IColumnPresentationFactoryAdapter.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-/**
- * An adapter used to create column presentations.
- * 
- * @see IColumnPresentation
- * @since 3.2
- */
-public interface IColumnPresentationFactoryAdapter {
-
-	/**
-	 * Constructs and returns the column presentation for the given presentation
-	 * context (view) and input element, or <code>null</code> of none.
-	 * 
-	 * @param context presentation context
-	 * @param element the input element
-	 * @return column presentation or <code>null</code>
-	 */
-	public IColumnPresentation createColumnPresentation(IPresentationContext context, Object element);
-	
-	/**
-	 * Returns the type of column presentation to be used for the given context and object
-	 * or <code>null</code> if none. Allows a previous column presentation to be re-used if
-	 * it has not changed type.
-	 * 
-	 * @param context presentaiton context
-	 * @param element input element
-	 * @return column presentation id or <code>null</code>
-	 */
-	public String getColumnPresentationId(IPresentationContext context, Object element);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IContainerRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IContainerRequestMonitor.java
deleted file mode 100644
index 58dfd75..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IContainerRequestMonitor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-/**
- * A request monitor that collects whether an element contains
- * children.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @since 3.2
- */
-public interface IContainerRequestMonitor extends IAsynchronousRequestMonitor {
-
-	/**
-	 * Sets whether an element contains children.
-	 * 
-	 * @param container whether an element contains children
-	 */
-    public void setIsContainer(boolean container);
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ILabelRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ILabelRequestMonitor.java
deleted file mode 100644
index 24bca90..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ILabelRequestMonitor.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * A request monitor that collects attributes of a element's
- * label.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @since 3.2
- */
-public interface ILabelRequestMonitor extends IAsynchronousRequestMonitor {
-
-	/**
-	 * Sets the text of the label. Cannot be <code>null</code>.
-	 * 
-	 * @param text
-	 */
-    public void setLabels(String[] text);
-    
-    /**
-     * Sets the font of the label.
-     * 
-     * @param fontData
-     */
-    public void setFontDatas(FontData[] fontData);
-    
-    /**
-     * Sets the image of the label.
-     * 
-     * @param image
-     */
-    public void setImageDescriptors(ImageDescriptor[] image);
-    
-    /**
-     * Sets the foreground color of the label.
-     * 
-     * @param foreground
-     */
-    public void setForegrounds(RGB[] foreground);
-    
-    /**
-     * Sets the background color of the label.
-     * 
-     * @param background
-     */
-    public void setBackgrounds(RGB[] background);
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelChangedListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelChangedListener.java
deleted file mode 100644
index 5b0a2b4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelChangedListener.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-/**
- * A model changed listener is notified of changes in a model. A model
- * is represented by an {@link IModelProxy}.
- *
- * @since 3.2
- * @see IModelProxy
- * @see IModelDeltaNode
- */
-public interface IModelChangedListener {
-	
-	/**
-	 * Notification a model has changed as described by the given delta.
-	 * 
-	 * @param delta model delta
-	 */
-	public void modelChanged(IModelDelta delta);
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelDelta.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelDelta.java
deleted file mode 100644
index 4a7d59b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelDelta.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-
-/**
- * Describes a change within a model. A delta is a hierarchical description of changes
- * within a model. It constists of a tree of nodes. Each node references an element
- * from a model desribing how that element changed. A model proxy fires model deltas
- * as its model changes in order to update views displaying that model. 
- * <p>
- * Each node in a model delta describes the following:
- * <ul>
- * <li>the type of change - for example, whether an element was added, removed,
- *  or whether its content or state changed</li>
- * <li>action to consider - for example, select or reveal the element</li>
- * </ul> 
- * </p>
- * <p>
- * Clients are not intended to implement this interface directly. Instead, clients
- * creating and firing model deltas should create instances of
- * {@link org.eclipse.debug.internal.ui.viewers.update.ModelDelta}.
- * </p>
- * </p>
- * @since 3.2
- */
-public interface IModelDelta {
-	
-	// types of changes
-	
-	/**
-	 * Indicates an element has not changed, but has children that have
-	 * changed in some way.
-	 */
-	public static int NO_CHANGE = 0;
-	/**
-	 * Indicates an element has been added to the model, as described by
-	 * its path.
-	 */
-	public static int ADDED = 1;
-	/**
-	 * Indicates an element has been removed from the model, as described by
-	 * its path.
-	 */
-	public static int REMOVED = 1 << 1;
-	/**
-	 * Indicates an element has been replaced in the model, as described by
-	 * its path. In this case a replacement element is also specified in the
-	 * model delta node.
-	 */	
-	public static int REPLACED = 1 << 3;
-	/**
-	 * Indicates an element has been inserted into the model, as described
-	 * by its path and index.
-	 */
-	public static int INSERTED = 1 << 4;
-	
-	// how an element changed
-	
-	/**
-	 * Indicates an elements content has changed (i.e. its children).
-	 */
-	public static int CONTENT = 1 << 10;
-	/**
-	 * Indicates an elements state has changed (i.e. label)
-	 */
-	public static int STATE = 1 << 11;
-	
-	// Suggested actions
-	
-	/**
-	 * Suggests that the element should be expanded, as described by its path.
-	 */
-	public static int EXPAND = 1 << 20;
-	/**
-	 * Suggests that the element should be selected, as described by its path.
-	 */
-	public static int SELECT = 1 << 21;
-	/**
-	 * Returns the parent of this node, or <code>null</code> if this is
-	 * a root node.
-	 * 
-	 * @return parent node or <code>null</code> if this is a root node
-	 */
-	public IModelDelta getParent();
-	
-	/**
-	 * Returns the model element this node describes.
-	 * 
-	 * @return associated model element
-	 */
-	public Object getElement();
-	
-	/**
-	 * Returns flags describing how this element changed. A bit mask of the
-	 * change type constants described in {@link IModelDelta}.
-	 * 
-	 * @return change flags
-	 */
-	public int getFlags();
-	
-	/**
-	 * Returns nodes describing changed children, possibly an empty collection.
-	 *  
-	 * @return changed children, possibly empty
-	 */
-	public ModelDelta[] getNodes();
-	
-	/**
-	 * When a node indicates the <code>IModelDelta.REPLACED</code> flag, this method
-	 * returns the replacement element, otherwise <code>null</code>.
-	 *  
-	 * @return replacement element or <code>null</code>
-	 */
-	public Object getReplacementElement();
-	
-	/**
-	 * When a node indicates the <code>IModelDelta.INSERTED</code> flag, this method
-	 * returns the index that the new element should be inserted at relative to its
-	 * parents children, otherwise -1.
-	 * 
-	 * @return insertion index or -1
-	 */
-	public int getIndex();
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelProxy.java
deleted file mode 100644
index b263028..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelProxy.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-/**
- * A model proxy represents a model for a specific presentation context and
- * fires deltas to notify listeners of changes in the model. A model proxy
- * is created by a model proxy factory.
- * <p>
- * When an element is added to an asynchronous viewer, its associated model proxy
- * factory is queried to create a model proxy for that element. The model proxy
- * is then installed into the viewer and the viewer listens to model deltas
- * in order to update that element. Generally, a model proxy factory creates
- * model proxies for root elements in a model, and then represents all elements
- * within that model for a specific presentation context. 
- * </p>
- * <p>
- * Clients may implement this interface. Implementation of this interface
- * must subclass {@link AbstractModelProxy}.
- * </p>
- * @see IModelDelta
- * @see IModelProxyFactoryAdapter
- * @see IModelChangedListener
- * @since 3.2
- */
-public interface IModelProxy {
-
-	/**
-	 * Notification this model proxy has been created and is about to be installed
-	 * in the following context. This is the first method called after a model proxy
-	 * is created.
-	 * <p>
-	 * This method is called by the asynchronous viewer framework and should not
-	 * be called by clients.
-	 * </p>
-	 * @param context presentation context in which the proxy will be installed
-	 */
-	public void init(IPresentationContext context);
-	
-	/** 
-	 * Notification this model proxy has been installed in its presentation 
-	 * context. This indicates that the model proxy has been created and registered
-	 * model change listeners are ready to process deltas.
-	 * <p>
-	 * This method is called by the asynchronous viewer framework and should not
-	 * be called by clients.
-	 * </p>
-	 */
-	public void installed();
-	
-	/**
-	 * Disposes this model proxy.
-	 * <p>
-	 * This method is called by the asynchronous viewer framework and should not
-	 * be called by clients.
-	 * </p>
-	 */
-	public void dispose();
-	
-	/**
-	 * Registers the given listener for model delta notification.
-	 * 
-	 * @param listener model delta listener
-	 */
-	public void addModelChangedListener(IModelChangedListener listener);
-	
-	/**
-	 * Deregisters the given listener from model delta notification.
-	 * 
-	 * @param listener model delta listener
-	 */
-	public void removeModelChangedListener(IModelChangedListener listener);
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelProxyFactoryAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelProxyFactoryAdapter.java
deleted file mode 100644
index 8127e4a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelProxyFactoryAdapter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-/**
- * A model proxy factory creates model proxies for elements based on 
- * specific presentation contexts. A model proxy factory is provided for
- * a model element by registering a model proxy factory adapter for
- * an element.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IModelProxy
- * @see IModelDelta
- * @since 3.2
- */
-public interface IModelProxyFactoryAdapter {
-	/**
-	 * Creates and returns a model proxy for the given element in the specified
-	 * context or <code>null</code> if none.
-	 * 
-	 * @param element model element to create a model proxy for
-	 * @param context presentation context
-	 * @return model proxy or <code>null</code>
-	 */
-	public IModelProxy createModelProxy(Object element, IPresentationContext context);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelSelectionPolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelSelectionPolicy.java
deleted file mode 100644
index f64450e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelSelectionPolicy.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * Resolves selection conflicts within a model. When
- * a selection exists in a viewer, and a client asks
- * to set another selection, the selection policy for
- * that model is asked to determine whether the new
- * selection should override the previous selection.
- * When a selection is from a different model, the
- * original selection is maintained if its model selection
- * policy specifies the selection to be 'sticky'.
- * <p>
- * A selection policy is obtained by querying for the selection
- * policy factory for a given element.  The selection policy factory
- * will then be asked to create a model selection policy adapter.
- * The adapter represents selections from an instance of a model.
- * </p>
- * 
- * @see IModelSelectionPolicyFactoryAdapter
- * @since 3.2
- */
-public interface IModelSelectionPolicy {
-	
-	/**
-	 * Returns whether the given selection is contained in
-	 * this model.
-	 * 
-	 * @param selection
-	 * @param context
-	 * @return
-	 */
-	public boolean contains(ISelection selection, IPresentationContext context);
-	
-	/**
-	 * Returns whether the candidate selection overrides the
-	 * existing selection. The policy is only asked about selections
-	 * that it contains.
-	 * 
-	 * @param existing
-	 * @param candidate
-	 * @param context
-	 * @return
-	 */
-	public boolean overrides(ISelection existing, ISelection candidate, IPresentationContext context);
-
-	/**
-	 * Returns whether the given selection should be maintained in the
-	 * face of a selection attempt from a different model.
-	 *  
-	 * @param selection
-	 * @param context
-	 * @return
-	 */
-	public boolean isSticky(ISelection selection, IPresentationContext context);
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelSelectionPolicyFactoryAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelSelectionPolicyFactoryAdapter.java
deleted file mode 100644
index 71f7d2b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IModelSelectionPolicyFactoryAdapter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-
-/**
- * A model selection policy factory creates a model selection policy for an element based on 
- * a specific presentation context. A model selection policy factory is provided for
- * a model element by registering a model selection policy factory adapter for
- * an element.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IModelSelectionPolicy
- * @since 3.2
- */
-public interface IModelSelectionPolicyFactoryAdapter {
-	/**
-	 * Creates and returns a model selection policy for the given element in the specified
-	 * context or <code>null</code> if none.
-	 * 
-	 * @param element model element to create a selection policy for
-	 * @param context presentation context
-	 * @return model selection policy or <code>null</code>
-	 */
-	public IModelSelectionPolicy createModelSelectionPolicyAdapter(Object element, IPresentationContext context);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IPresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IPresentationContext.java
deleted file mode 100644
index af51866..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IPresentationContext.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Context in which an asynchronous request has been made.
- * <p>
- * Clients may implement and extend this interface to provide
- * special contexts. Implementations must subclass {@link PresentationContext}.
- * </p>
- * @since 3.2
- */
-public interface IPresentationContext {
-	
-	/**
-	 * Property name used for property change notification when the columns
-	 * in a presentation context change.
-	 */
-	public static final String PROPERTY_COLUMNS = "PROPERTY_COLUMNS"; //$NON-NLS-1$
-    
-    /**
-     * Returns the part for which a request is being made
-     * or <code>null</code> if none. 
-     * 
-     * @return the part for which a request is being made
-     * or <code>null</code>
-     */
-    public IWorkbenchPart getPart();
-    
-    /**
-     * Returns identifiers of the visible columns in the order
-     * labels should be provided, or <code>null</code> if columns
-     * are not being displayed. Label providers use this
-     * information. 
-     * 
-     * @return visible column identifiers or <code>null</code>
-     * @see IColumnPresentation
-     */
-    public String[] getColumns();
-    
-    /**
-     * Registers the given listener for property change notification.
-     * 
-     * @param listener property listener
-     */
-    public void addPropertyChangeListener(IPropertyChangeListener listener);
-    
-    /**
-     * Deregisters the given listener from property change notification.
-     * 
-     * @param listener property listener.
-     */
-    public void removePropertyChangeListener(IPropertyChangeListener listener);
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ModelDelta.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ModelDelta.java
deleted file mode 100644
index 7fe6d8e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ModelDelta.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.provisional;
-
-
-
-/**
- * A model delta. Used to create model deltas.
- * <p>
- * Clients may instantiate this class; not intended to be subclassed.
- * </p>
- * @see org.eclipse.debug.internal.ui.viewers.IModelDelta
- * @since 3.2
- */
-public class ModelDelta implements IModelDelta {
-
-	private IModelDelta fParent;
-	private Object fElement;
-	private int fFlags;
-	private ModelDelta[] fNodes = EMPTY_NODES;
-	private Object fReplacement;
-	private int fIndex;
-	private static final ModelDelta[] EMPTY_NODES = new ModelDelta[0];
-
-	/**
-	 * Constructs a new delta for the given element.
-	 * 
-	 * @param element model element
-	 * @param flags change flags
-	 */
-	public ModelDelta(Object element, int flags) {
-		fElement = element;
-		fFlags = flags;
-	}
-
-	/**
-	 * Constructs a new delta for the given element to be replaced
-	 * with the specified replacement element.
-	 * 
-	 * @param element model element
-	 * @param replacement replacement element
-	 * @param flags change flags
-	 */
-	public ModelDelta(Object element, Object replacement, int flags) {
-        fElement = element;
-        fReplacement = replacement;
-        fFlags = flags;
-    }
-
-	/**
-	 * Constructs a new delta for the given element to be inserted at
-	 * the specified index.
-	 * 
-	 * @param element model element
-	 * @param index insertion position
-	 * @param flags change flags
-	 */
-    public ModelDelta(Object element, int index, int flags) {
-        fElement = element;
-        fIndex = index;
-        fFlags = flags;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.IModelDelta#getElement()
-     */
-    public Object getElement() {
-		return fElement;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.IModelDelta#getFlags()
-	 */
-	public int getFlags() {
-		return fFlags;
-	}
-
-	/**
-	 * Adds a child node to this delta with the given element and change flags,
-	 * and returns the child delta.
-	 * 
-	 * @param element child element to add
-	 * @param flags change flags for child
-	 * @return newly created child delta
-	 */
-	public ModelDelta addNode(Object element, int flags) {
-		ModelDelta node = new ModelDelta(element, flags);
-		node.setParent(this);
-		addDelta(node);
-		return node;
-	}
-
-	/**
-	 * Adds a child node to this delta to replace the given element with the
-	 * specified replacement element and change flags, and returns the 
-	 * newly created child delta.
-	 * 
-	 * @param element child element to add to this delta
-	 * @param replacement replacement element for the child element
-	 * @param flags change flags
-	 * @return newly created child delta
-	 */
-    public ModelDelta addNode(Object element, Object replacement, int flags) {
-        ModelDelta node = new ModelDelta(element, replacement, flags);
-        node.setParent(this);
-        addDelta(node);
-        return node;
-    }
-
-    /**
-     * Adds a child delta to this delta to insert the specified element at
-     * the given index, and returns the newly created child delta.
-     * 
-     * @param element child element in insert
-     * @param index index of insertion
-     * @param flags change flags
-     * @return newly created child delta
-     */
-    public ModelDelta addNode(Object element, int index, int flags) {
-        ModelDelta node = new ModelDelta(element, index, flags);
-        node.setParent(this);
-        addDelta(node);
-        return node;
-    }
-    
-    /**
-     * Sets the parent delta of this delta
-     * 
-     * @param node parent delta
-     */
-	void setParent(ModelDelta node) {
-		fParent = node;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.IModelDelta#getParent()
-	 */
-	public IModelDelta getParent() {
-		return fParent;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.IModelDelta#getReplacementElement()
-     */
-    public Object getReplacementElement() {
-        return fReplacement;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.IModelDelta#getIndex()
-     */
-    public int getIndex() {
-        return fIndex;
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.IModelDelta#getNodes()
-	 */
-	public ModelDelta[] getNodes() {
-		return fNodes;
-	}
-	
-	private void addDelta(ModelDelta delta) {
-		if (fNodes.length == 0) {
-			fNodes = new ModelDelta[]{delta};
-		} else {
-			ModelDelta[] nodes = new ModelDelta[fNodes.length + 1];
-			System.arraycopy(fNodes, 0, nodes, 0, fNodes.length);
-			nodes[fNodes.length] = delta;
-			fNodes = nodes;
-		}
-	}
-	
-	public String toString() {
-		StringBuffer buf = new StringBuffer();
-		buf.append("Model Delta Start\n"); //$NON-NLS-1$
-		appendDetail(buf, this);
-		buf.append("Model Delta End\n"); //$NON-NLS-1$
-		return buf.toString();
-	}
-	
-	private void appendDetail(StringBuffer buf, ModelDelta delta) {
-		buf.append("\tElement: "); //$NON-NLS-1$
-		buf.append(delta.fElement);
-		buf.append('\n');
-		buf.append("\t\tFlags: "); //$NON-NLS-1$
-		int flags = delta.getFlags();
-		if (flags == 0) {
-			buf.append("NO_CHANGE"); //$NON-NLS-1$
-		} else {
-			if ((flags & IModelDelta.ADDED) > 0) {
-				buf.append("ADDED | "); //$NON-NLS-1$
-			}
-			if ((flags & IModelDelta.CONTENT) > 0) {
-				buf.append("CONTENT | "); //$NON-NLS-1$
-			}
-			if ((flags & IModelDelta.EXPAND) > 0) {
-				buf.append("EXPAND | "); //$NON-NLS-1$
-			}
-			if ((flags & IModelDelta.INSERTED) > 0) {
-				buf.append("INSERTED | "); //$NON-NLS-1$
-			}
-			if ((flags & IModelDelta.REMOVED) > 0) {
-				buf.append("REMOVED | "); //$NON-NLS-1$
-			}
-			if ((flags & IModelDelta.REPLACED) > 0) {
-				buf.append("REPLACED | "); //$NON-NLS-1$
-			}
-			if ((flags & IModelDelta.SELECT) > 0) {
-				buf.append("SELECT | "); //$NON-NLS-1$
-			}
-			if ((flags & IModelDelta.STATE) > 0) {
-				buf.append("STATE | "); //$NON-NLS-1$
-			}
-		}
-		buf.append('\n');
-		ModelDelta[] nodes = delta.getNodes();
-		for (int i = 0; i < nodes.length; i++) {
-			appendDetail(buf, nodes[i]);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java
deleted file mode 100644
index 78b55c4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-/**
- * Handles debug events for an event update policy in a viewer.
- * 
- * @since 3.2
- */
-public abstract class DebugEventHandler {
-	
-	private AbstractModelProxy fModelProxy;
-	
-	// debug flags
-	public static boolean DEBUG_DELTAS = false;
-	
-	static {
-		DEBUG_DELTAS = DebugUIPlugin.DEBUG && "true".equals( //$NON-NLS-1$
-		 Platform.getDebugOption("org.eclipse.debug.ui/debug/viewers/deltas")); //$NON-NLS-1$
-	} 	
-
-	/**
-	 * Constructs an event handler for the given model proxy.
-	 * 
-	 * @param policy
-	 */
-	public DebugEventHandler(AbstractModelProxy proxy) {
-		fModelProxy = proxy;
-	}
-	
-	/**
-	 * Disposes this event handler
-	 */
-	public synchronized void dispose() {
-		fModelProxy = null;
-	}
-		
-	/**
-	 * Returns the model proxy this event handler working for,
-	 * or <code>null</code> if disposed.
-	 * 
-	 * @return
-	 */
-	protected synchronized AbstractModelProxy getModelProxy() {
-		return fModelProxy;
-	}
-
-	/**
-	 * Returns whether this event handler handles the given event
-	 * 
-	 * @param event event to handle
-	 * @return whether this event handler handles the given event
-	 */
-	protected abstract boolean handlesEvent(DebugEvent event);
-	
-	/**
-	 * Handles a create event. 
-	 * 
-	 * @param event
-	 */
-	protected void handleCreate(DebugEvent event) {
-		refreshRoot(event);
-	}
-		
-	/**
-	 * Handles a terminate event.
-	 * 
-	 * @param event
-	 */
-	protected void handleTerminate(DebugEvent event) {
-		refreshRoot(event);
-	}
-	
-	/**
-	 * Handles a suspend event.
-	 * 
-	 * @param event
-	 */	
-	protected void handleSuspend(DebugEvent event) {
-		refreshRoot(event);
-	}
-	
-	/**
-	 * Handles a resume event for which a suspend is expected shortly (<500ms).
-	 * 
-	 * @param event
-	 */
-	protected void handleResumeExpectingSuspend(DebugEvent event) {
-		// do nothing unless the suspend times out
-	}
-	
-	/**
-	 * Handles a resume event that is not expecting an immediate suspend event
-	 * 
-	 * @param event
-	 */
-	protected void handleResume(DebugEvent event) {
-		refreshRoot(event);
-	}
-	
-	/**
-	 * Handles a change event. 
-	 * 
-	 * @param event
-	 */
-	protected void handleChange(DebugEvent event) {
-		refreshRoot(event);
-	}	
-
-	/**
-	 * Handles an unknown event.
-	 * 
-	 * @param event
-	 */
-	protected void handleOther(DebugEvent event) {
-		refreshRoot(event);
-	}
-	
-	/**
-	 * Notification that a pending suspend event was not received for the given
-	 * resume event within the timeout period.
-	 * 
-	 * @param resume resume event with missing suspend event
-	 */
-	protected void handleSuspendTimeout(DebugEvent event) {
-		refreshRoot(event);
-	}
-	
-	/**
-	 * Handles the given suspend event which caused a timeout. It is
-	 * parired with its original resume event.
-	 * 
-	 * @param suspend suspend event
-	 * @param resume resume event
-	 */
-	protected void handleLateSuspend(DebugEvent suspend, DebugEvent resume) {
-		refreshRoot(suspend);
-	}
-
-	/**
-	 * Fires a model delta to indicate that the launch manager should be refreshed.
-	 * Subclasses should override individual handle events to provide deltas that
-	 * better reflect the actual change in the model.
-	 */
-	protected void refreshRoot(DebugEvent event) {
-		ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.CONTENT);
-		fireDelta(delta);
-	}
-	
-	/**
-	 * Fires the given delta, unless this handler has been disposed.
-	 * 
-	 * @param delta
-	 */
-	protected void fireDelta(IModelDelta delta) {
-		AbstractModelProxy modelProxy = getModelProxy();
-		if (modelProxy != null) {
-			if (DEBUG_DELTAS) {
-				DebugUIPlugin.debug("FIRE DELTA: " + delta.toString()); //$NON-NLS-1$
-			}
-			modelProxy.fireModelChanged(delta);
-		}
-	}
-	
-	/**
-	 * Returns whether this handler has been disposed.
-	 * 
-	 * @return whether this handler has been disposed
-	 */
-	protected synchronized boolean isDisposed() {
-		return fModelProxy == null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java
deleted file mode 100644
index df6b353..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-
-/**
- * @since 3.2
- */
-public class DebugTargetEventHandler extends DebugEventHandler {
-
-	/**
-	 * Constructs an event handler for a debug target on the given viewer.
-	 * 
-	 * @param viewer
-	 */
-	public DebugTargetEventHandler(AbstractModelProxy proxy) {
-		super(proxy);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler#handlesEvent(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected boolean handlesEvent(DebugEvent event) {
-		return event.getSource() instanceof IDebugTarget;
-	}
-
-	protected void handleChange(DebugEvent event) {
-		fireDelta((IDebugTarget) event.getSource(), IModelDelta.STATE);
-	}
-
-	protected void handleCreate(DebugEvent event) {
-        fireDelta((IDebugTarget) event.getSource(), IModelDelta.EXPAND);
-	}
-
-	protected void handleResume(DebugEvent event) {
-		fireDelta((IDebugTarget) event.getSource(), IModelDelta.CONTENT | IModelDelta.STATE);
-	}
-
-	protected void handleSuspend(DebugEvent event) {
-		fireDelta((IDebugTarget) event.getSource(), IModelDelta.CONTENT);
-	}
-
-	protected void handleTerminate(DebugEvent event) {
-		fireDelta((IDebugTarget) event.getSource(), IModelDelta.STATE);
-	}
-
-	private void fireDelta(IDebugTarget target, int flags) {
-		ModelDelta root = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE);
-		ModelDelta delta = root.addNode(target.getLaunch(), IModelDelta.NO_CHANGE);
-		delta.addNode(target, flags);
-		fireDelta(root);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java
deleted file mode 100644
index 5806ec5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-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.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-/**
- * Default model proxy for a debug target.
- * 
- * @since 3.2
- */
-public class DebugTargetProxy extends EventHandlerModelProxy {
-
-    private IDebugTarget fDebugTarget;
-
-    public DebugTargetProxy(IDebugTarget target) {
-        fDebugTarget = target;
-    }
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#dispose()
-	 */
-	public synchronized void dispose() {
-		super.dispose();
-		fDebugTarget = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#containsEvent(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected boolean containsEvent(DebugEvent event) {
-        Object source = event.getSource();
-        if (source instanceof IDebugElement) {
-            IDebugTarget debugTarget = ((IDebugElement) source).getDebugTarget();
-            // an expression can return null for debug target
-            if (debugTarget != null) {
-            	return debugTarget.equals(fDebugTarget);
-            }
-        }
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#createEventHandlers()
-     */
-    protected DebugEventHandler[] createEventHandlers() {
-        return new DebugEventHandler[] { new DebugTargetEventHandler(this), new ThreadEventHandler(this) };
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#installed()
-	 */
-	public void installed() {
-		// select any thread that is already suspended after installation
-		IDebugTarget target = fDebugTarget;
-		if (target != null) {
-			try {
-				IThread[] threads = target.getThreads();
-				for (int i = 0; i < threads.length; i++) {
-					IThread thread = threads[i];
-					if (thread.isSuspended()) {
-						IStackFrame frame = thread.getTopStackFrame();
-						if (frame != null) {
-							ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE);
-							ModelDelta node = delta.addNode(target.getLaunch(), IModelDelta.NO_CHANGE);
-							node = node.addNode(target, IModelDelta.NO_CHANGE);
-							node = node.addNode(thread, IModelDelta.NO_CHANGE | IModelDelta.EXPAND);
-							node = node.addNode(frame, IModelDelta.NO_CHANGE | IModelDelta.SELECT);
-							fireModelChanged(delta);
-							return;
-						}
-					}
-				}
-				// expand the target if no suspended thread
-				ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE);
-				ModelDelta node = delta.addNode(target.getLaunch(), IModelDelta.NO_CHANGE);
-				node = node.addNode(target, IModelDelta.EXPAND);
-				fireModelChanged(delta);
-			} catch (DebugException e) {
-			}
-		}
-	}
-    
-    
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultExpressionModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultExpressionModelProxy.java
deleted file mode 100644
index cda268f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultExpressionModelProxy.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IVariable;
-
-/**
- * @since 3.2
- *
- */
-public class DefaultExpressionModelProxy extends EventHandlerModelProxy {
-	
-	private IExpression fExpression;
-	
-	public DefaultExpressionModelProxy(IExpression expression) {
-		fExpression = expression;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#dispose()
-	 */
-	public synchronized void dispose() {
-		super.dispose();
-		fExpression = null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#createEventHandlers()
-	 */
-	protected DebugEventHandler[] createEventHandlers() {
-		return new DebugEventHandler[]{new ExpressionEventHandler(this)};
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#containsEvent(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected boolean containsEvent(DebugEvent event) {
-		if (event.getSource().equals(fExpression)) {
-			return true;
-		}
-		// have to consider change events on variables
-		return event.getKind() == DebugEvent.CHANGE && event.getSource() instanceof IVariable;
-	}
-
-	/**
-	 * Returns this model's expression, or <code>null</code> if disposed.
-	 * 
-	 * @return expression or <code>null</code>
-	 */
-	protected IExpression getExpression() {
-		return fExpression;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java
deleted file mode 100644
index 8b0d40a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.memory.provisional.MemoryViewPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelProxyFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class DefaultModelProxyFactory implements IModelProxyFactoryAdapter {
-
-	public IModelProxy createModelProxy(Object element, IPresentationContext context) {
-		IWorkbenchPart part = context.getPart();
-		if (part != null) {
-			String id = part.getSite().getId();
-			if (IDebugUIConstants.ID_DEBUG_VIEW.equals(id)) {
-				if (element instanceof IDebugTarget) {
-					return new DebugTargetProxy((IDebugTarget)element);
-				}
-				if (element instanceof ILaunchManager) {
-					return new LaunchManagerProxy();
-				}
-				if (element instanceof IProcess) {
-					return new ProcessProxy((IProcess)element);
-				}
-			}
-			if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id)) {
-				if (element instanceof IStackFrame) {
-					return new DefaultVariableViewModelProxy((IStackFrame)element);
-				}
-			}
-			if (IDebugUIConstants.ID_EXPRESSION_VIEW.equals(id)) {
-				if (element instanceof IExpressionManager) {
-					return new ExpressionManagerModelProxy();
-				} if (element instanceof IWatchExpression) {
-					return new DefaultWatchExpressionModelProxy((IWatchExpression)element, part.getSite().getWorkbenchWindow());
-				}
-				if (element instanceof IExpression) {
-					return new DefaultExpressionModelProxy((IExpression)element);
-				}
-			}
-			if (IDebugUIConstants.ID_REGISTER_VIEW.equals(id)) {
-				if (element instanceof IStackFrame) {
-					return new DefaultVariableViewModelProxy((IStackFrame)element);
-				}
-			}
-			if (IDebugUIConstants.ID_MEMORY_VIEW.equals(id)) {
-				if (element instanceof IMemoryBlockRetrieval)
-					return new MemoryRetrievalProxy((IMemoryBlockRetrieval)element);
-				if (context instanceof MemoryViewPresentationContext)
-				{
-					if (((MemoryViewPresentationContext)context).getRendering() != null)
-					{
-						if (element instanceof IMemoryBlock)
-							return new MemoryBlockProxy((IMemoryBlock)element);
-					}
-				}
-			}
-		}
-		
-
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelSelectionPolicyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelSelectionPolicyFactory.java
deleted file mode 100644
index 554f34c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelSelectionPolicyFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelSelectionPolicy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelSelectionPolicyFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Default factory for selection policies.
- * 
- * @since 3.2
- */
-public class DefaultModelSelectionPolicyFactory implements IModelSelectionPolicyFactoryAdapter {
-
-	public IModelSelectionPolicy createModelSelectionPolicyAdapter(Object element, IPresentationContext context) {
-		IWorkbenchPart part = context.getPart();
-		if (part != null && IDebugUIConstants.ID_DEBUG_VIEW.equals(part.getSite().getId())) {
-			if (element instanceof IDebugElement) {
-				return new DefaultSelectionPolicy((IDebugElement)element);
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java
deleted file mode 100644
index 68fdb11..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelSelectionPolicy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Default selection policy for the debug view.
- *  
- * @since 3.2
- */
-public class DefaultSelectionPolicy implements IModelSelectionPolicy {
-	
-	private IDebugElement fDebugElement;
-	
-	/**
-	 * Constructs a new selection policy for the given debug
-	 * element.
-	 * 
-	 * @param element
-	 */
-	public DefaultSelectionPolicy(IDebugElement element) {
-		fDebugElement = element;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.IModelSelectionPolicy#contains(org.eclipse.jface.viewers.ISelection, org.eclipse.debug.ui.viewers.IPresentationContext)
-	 */
-	public boolean contains(ISelection selection, IPresentationContext context) {
-		IWorkbenchPart part = context.getPart();
-		if (part != null) {
-			if (IDebugUIConstants.ID_DEBUG_VIEW.equals(part.getSite().getId())) {
-				if (selection instanceof IStructuredSelection) {
-					IStructuredSelection ss = (IStructuredSelection) selection;
-					Object element = ss.getFirstElement();
-					if (element instanceof IDebugElement) {
-						IDebugElement debugElement = (IDebugElement) element;
-						return fDebugElement.getDebugTarget().equals(debugElement.getDebugTarget());
-					}
-				} 
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.IModelSelectionPolicy#overrides(org.eclipse.jface.viewers.ISelection, org.eclipse.jface.viewers.ISelection, org.eclipse.debug.ui.viewers.IPresentationContext)
-	 */
-	public boolean overrides(ISelection existing, ISelection candidate, IPresentationContext context) {
-		IWorkbenchPart part = context.getPart();
-		if (part != null) {
-			if (IDebugUIConstants.ID_DEBUG_VIEW.equals(part.getSite().getId())) {	
-				if (existing instanceof IStructuredSelection && candidate instanceof IStructuredSelection) {
-					IStructuredSelection ssExisting = (IStructuredSelection) existing;
-					IStructuredSelection ssCandidate = (IStructuredSelection) candidate;
-					return overrides(ssExisting.getFirstElement(), ssCandidate.getFirstElement());
-				}
-			}
-		}
-		return true;
-	}
-	
-	protected boolean overrides(Object existing, Object candidate) {
-		if (existing == null) {
-			return true;
-		}
-		if (existing.equals(candidate)) {
-			return true;
-		}
-		if (existing instanceof IStackFrame && candidate instanceof IStackFrame) {
-			IStackFrame curr = (IStackFrame) existing;
-			IStackFrame next = (IStackFrame) candidate;
-			return curr.getThread().equals(next.getThread()) || !isSticky(existing);
-		}
-		return !isSticky(existing);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.IModelSelectionPolicy#isSticky(org.eclipse.jface.viewers.ISelection, org.eclipse.debug.ui.viewers.IPresentationContext)
-	 */
-	public boolean isSticky(ISelection selection, IPresentationContext context) {
-		IWorkbenchPart part = context.getPart();
-		if (part != null) {
-			if (IDebugUIConstants.ID_DEBUG_VIEW.equals(part.getSite().getId())) {	
-				if (selection instanceof IStructuredSelection) {
-					return isSticky(((IStructuredSelection)selection).getFirstElement());
-				}
-			}
-		}
-		return false;
-	}
-	
-	protected boolean isSticky(Object element) {
-		if (element instanceof IStackFrame) {
-			IStackFrame frame = (IStackFrame) element;
-			return frame.isSuspended();
-		}
-		return false;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultVariableViewModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultVariableViewModelProxy.java
deleted file mode 100644
index dc449df..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultVariableViewModelProxy.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IStackFrame;
-
-/**
- * Default update for variables view.
- * 
- * @since 3.2
- */
-public class DefaultVariableViewModelProxy extends EventHandlerModelProxy {
-
-	/**
-	 * Root model element for this update policy
-	 */
-	private IStackFrame fFrame;
-
-	/**
-	 * Constructs an update policy on the given target.
-	 * 
-	 * @param target
-	 */
-	public DefaultVariableViewModelProxy(IStackFrame frame) {
-		super();
-		fFrame = frame;
-	}
-
-	public void dispose() {
-		super.dispose();
-		fFrame = null;
-	}
-
-	protected DebugEventHandler[] createEventHandlers() {
-		return new DebugEventHandler[] { new VariablesViewEventHandler(this, fFrame) };
-	}
-	
-   /* (non-Javadoc)
-    * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#containsEvent(org.eclipse.debug.core.DebugEvent)
-    */
-	protected synchronized boolean containsEvent(DebugEvent event) {
-		if (!isDisposed()) {
-	        Object source = event.getSource();
-	        if (source instanceof IDebugElement) {
-	            IDebugTarget debugTarget = ((IDebugElement) source).getDebugTarget();
-	            return debugTarget.equals(fFrame.getDebugTarget());
-	        }
-		}
-        return false;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java
deleted file mode 100644
index 43c2f97..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * @since 3.2
- *
- */
-public class DefaultWatchExpressionModelProxy extends DefaultExpressionModelProxy implements IDebugContextListener {
-	
-	private IWorkbenchWindow fWindow;
-	
-	public DefaultWatchExpressionModelProxy(IWatchExpression expression, IWorkbenchWindow window) {
-		super(expression);
-		fWindow = window;
-		DebugContextManager.getDefault().addDebugContextListener(this, window);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy#installed()
-	 */
-	public void installed() {
-		super.installed();
-		IWorkbenchPart part = getPresentationContext().getPart();
-		if (part != null) {
-			ISelection activeContext = DebugContextManager.getDefault().getActiveContext(part.getSite().getWorkbenchWindow());
-			if (activeContext != null) {
-				contextActivated(activeContext, null);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.DefaultExpressionModelProxy#dispose()
-	 */
-	public synchronized void dispose() {
-		super.dispose();
-		DebugContextManager.getDefault().removeDebugContextListener(this, fWindow);
-		fWindow = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#createEventHandlers()
-	 */
-	protected DebugEventHandler[] createEventHandlers() {
-		return new DebugEventHandler[]{new ExpressionEventHandler(this)};
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextListener#contextActivated(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextActivated(ISelection selection, IWorkbenchPart part) {
-		if (fWindow != null) {
-			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();
-					}
-				}
-				((IWatchExpression)getExpression()).setExpressionContext(context);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {		
-	}	
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
deleted file mode 100644
index 2dec784..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Timer;
-import java.util.TimerTask;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-
-/**
- * @since 3.2
- */
-public abstract class EventHandlerModelProxy extends AbstractModelProxy implements IDebugEventSetListener {
-
-    /**
-     * Map of elements to timer tasks
-     */
-    private Map fTimerTasks = new HashMap();
-
-    /**
-     * Timer for timer tasks
-     */
-    private Timer fTimer = new Timer(true);
-
-    /**
-     * Map of event source to resume events with a pending suspend that timed
-     * out.
-     */
-    private Map fPendingSuspends = new HashMap();
-
-    /**
-     * Event handlers for specific elements
-     */
-    private DebugEventHandler[] fHandlers = new DebugEventHandler[0];
-
-    private boolean fDisposed = false;
-
-    /**
-     * Task used to update an element that resumed for a step or evaluation that
-     * took too long to suspend.
-     */
-    private class PendingSuspendTask extends TimerTask {
-
-        private DebugEvent fEvent;
-
-        private DebugEventHandler fHandler;
-
-        /**
-         * Resume event for which there is a pending suspend.
-         * 
-         * @param resume
-         *            event
-         */
-        public PendingSuspendTask(DebugEventHandler handler, DebugEvent resume) {
-            fHandler = handler;
-            fEvent = resume;
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.util.TimerTask#run()
-         */
-        public void run() {
-            synchronized (fPendingSuspends) {
-                fPendingSuspends.put(fEvent.getSource(), fEvent);
-            }
-            dispatchSuspendTimeout(fHandler, fEvent);
-        }
-
-    }
-
-    /**
-     * Adds the given handler to this event update policy.
-     * 
-     * @param handler
-     */
-    protected abstract DebugEventHandler[] createEventHandlers();
-
-    public synchronized void dispose() {
-    	super.dispose();
-        fDisposed = true;
-        fTimer.cancel();
-        fTimerTasks.clear();
-        DebugPlugin.getDefault().removeDebugEventListener(this);
-        for (int i = 0; i < fHandlers.length; i++) {
-            DebugEventHandler handler = fHandlers[i];
-            handler.dispose();
-        }
-    }
-
-    public void init(IPresentationContext context) {
-    	super.init(context);
-        DebugPlugin.getDefault().addDebugEventListener(this);
-        fHandlers = createEventHandlers();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-     */
-    public final void handleDebugEvents(DebugEvent[] events) {
-        if (isDisposed()) {
-            return;
-        }
-        for (int i = 0; i < events.length; i++) {
-            DebugEvent event = events[i];
-            if (containsEvent(event)) {
-                for (int j = 0; j < fHandlers.length; j++) {
-                    DebugEventHandler handler = fHandlers[j];
-                    if (isDisposed()) {
-                    	return;
-                    }
-                    if (handler.handlesEvent(event)) {
-                        switch (event.getKind()) {
-	                        case DebugEvent.CREATE:
-	                            dispatchCreate(handler, event);
-	                            break;
-	                        case DebugEvent.TERMINATE:
-	                            dispatchTerminate(handler, event);
-	                            break;
-	                        case DebugEvent.SUSPEND:
-	                            dispatchSuspend(handler, event);
-	                            break;
-	                        case DebugEvent.RESUME:
-	                            dispatchResume(handler, event);
-	                            break;
-	                        case DebugEvent.CHANGE:
-	                            dispatchChange(handler, event);
-	                            break;
-	                        default:
-	                            dispatchOther(handler, event);
-	                            break;
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    protected boolean containsEvent(DebugEvent event) {
-        return true;
-    }
-
-    protected synchronized boolean isDisposed() {
-        return fDisposed;
-    }
-
-    /**
-     * Dispatches a create event.
-     * 
-     * @param event
-     */
-    protected void dispatchCreate(DebugEventHandler handler, DebugEvent event) {
-        handler.handleCreate(event);
-    }
-
-    /**
-     * Dispatches a terminate event.
-     * 
-     * @param event
-     */
-    protected void dispatchTerminate(DebugEventHandler handler, DebugEvent event) {
-        handler.handleTerminate(event);
-    }
-
-    /**
-     * Dispatches a suspend event. Subclasses may override.
-     * 
-     * @param event
-     */
-    protected void dispatchSuspend(DebugEventHandler handler, DebugEvent event) {
-        // stop timer, if any
-        synchronized (this) {
-            TimerTask task = (TimerTask) fTimerTasks.remove(event.getSource());
-            if (task != null) {
-                task.cancel();
-            }
-        }
-        DebugEvent resume = null;
-        synchronized (this) {
-            resume = (DebugEvent) fPendingSuspends.remove(event.getSource());
-        }
-        if (resume == null) {
-            handler.handleSuspend(event);
-        } else {
-            handler.handleLateSuspend(event, resume);
-        }
-    }
-
-    /**
-     * Dispatches a resume event. By default, if the resume is for an evaluation
-     * or a step, a timer is started to update the event source if the step or
-     * evaluation takes more than 500ms. Otherwise the source is refreshed.
-     * Subclasses may override.
-     * 
-     * @param event
-     */
-    protected void dispatchResume(DebugEventHandler handler, DebugEvent event) {
-        if (event.isEvaluation() || event.isStepStart()) {
-            // start a timer to update if the corresponding suspend does not
-            // come quickly
-        	synchronized (this) {
-        		if (!isDisposed()) {
-                    PendingSuspendTask task = new PendingSuspendTask(handler, event);
-                    fTimerTasks.put(event.getSource(), task);
-                    fTimer.schedule(task, 500);
-        		}
-			}
-        	if (!isDisposed()) {
-        		handler.handleResumeExpectingSuspend(event);
-        	}
-        } else {
-            handler.handleResume(event);
-        }
-    }
-
-    /**
-     * Dispatches a change event.
-     * 
-     * @param event
-     */
-    protected void dispatchChange(DebugEventHandler handler, DebugEvent event) {
-        handler.handleChange(event);
-    }
-
-    /**
-     * Dispatches an unknown event.
-     * 
-     * @param event
-     */
-    protected void dispatchOther(DebugEventHandler handler, DebugEvent event) {
-        handler.handleOther(event);
-    }
-
-    /**
-     * Notification that a pending suspend event was not received for the given
-     * resume event and handler within the timeout period.
-     * 
-     * @param resume
-     *            resume event with missing suspend event
-     */
-    protected void dispatchSuspendTimeout(DebugEventHandler handler, DebugEvent resume) {
-        handler.handleSuspendTimeout(resume);
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionEventHandler.java
deleted file mode 100644
index 877bb50..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionEventHandler.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-/**
- * Event handler for an expression.
- * 
- * @since 3.2
- *
- */
-public class ExpressionEventHandler extends DebugEventHandler {
-
-    public ExpressionEventHandler(AbstractModelProxy proxy) {
-        super(proxy);
-    }
-
-    protected boolean handlesEvent(DebugEvent event) {
-        return event.getKind() == DebugEvent.CHANGE;
-    }
-
-    protected void handleChange(DebugEvent event) {
-    	ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getExpressionManager(), IModelDelta.NO_CHANGE);
-		IExpression expression = null;
-    	if (event.getSource() instanceof IExpression) {
-    		expression = (IExpression) event.getSource();
-		} else {
-			IModelProxy modelProxy = getModelProxy();
-			if (modelProxy instanceof DefaultExpressionModelProxy) {
-				DefaultExpressionModelProxy proxy = (DefaultExpressionModelProxy) modelProxy;
-				expression = proxy.getExpression();
-			}
-		}
-    	if (expression != null) {
-	    	delta.addNode(expression, IModelDelta.CONTENT | IModelDelta.STATE);
-			fireDelta(delta);
-    	}
-    }
-
-    protected void refreshRoot(DebugEvent event) {
-        ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getExpressionManager(), IModelDelta.CONTENT);
-        fireDelta(delta);
-    }
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionManagerModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionManagerModelProxy.java
deleted file mode 100644
index c27c4a8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionManagerModelProxy.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-
-public class ExpressionManagerModelProxy extends AbstractModelProxy implements IExpressionsListener {
-        
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#init(org.eclipse.debug.internal.ui.viewers.IPresentationContext)
-	 */
-	public void init(IPresentationContext context) {
-		super.init(context);
-		DebugPlugin.getDefault().getExpressionManager().addExpressionListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#dispose()
-	 */
-	public synchronized void dispose() {
-		super.dispose();
-		DebugPlugin.getDefault().getExpressionManager().removeExpressionListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsAdded(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void expressionsAdded(IExpression[] expressions) {
-		updateExpressions(expressions, IModelDelta.ADDED);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsRemoved(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void expressionsRemoved(IExpression[] expressions) {
-		updateExpressions(expressions, IModelDelta.REMOVED);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsChanged(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void expressionsChanged(IExpression[] expressions) {
-		updateExpressions(expressions, IModelDelta.CONTENT | IModelDelta.STATE);		
-	}
-    
-    private void updateExpressions(IExpression[] expressions, int flags) {
-		ModelDelta delta = new ModelDelta(DebugPlugin.getDefault() .getExpressionManager(), IModelDelta.NO_CHANGE);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression = expressions[i];
-			delta.addNode(expression, flags);
-		}
-		fireModelChanged(delta);
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java
deleted file mode 100644
index ed2aaf2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-public class LaunchManagerProxy extends AbstractModelProxy implements ILaunchesListener2 {
-
-	private ILaunchManager fLaunchManager;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#init(org.eclipse.debug.internal.ui.viewers.IPresentationContext)
-	 */
-	public void init(IPresentationContext context) {
-		super.init(context);
-		fLaunchManager = DebugPlugin.getDefault().getLaunchManager();
-		fLaunchManager.addLaunchListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#installed()
-	 */
-	public void installed() {
-		// expand existing launches
-		ILaunch[] launches = fLaunchManager.getLaunches();
-		if (launches.length > 0) {
-			fireDelta(launches, IModelDelta.EXPAND);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#dispose()
-	 */
-	public void dispose() {	
-		super.dispose();
-		fLaunchManager.removeLaunchListener(this);
-		fLaunchManager = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesTerminated(ILaunch[] launches) {
-		fireDelta(launches, IModelDelta.CONTENT);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesRemoved(ILaunch[] launches) {
-		fireDelta(launches, IModelDelta.REMOVED);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesAdded(ILaunch[] launches) {
-		fireDelta(launches, IModelDelta.ADDED | IModelDelta.EXPAND);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesChanged(ILaunch[] launches) {
-		fireDelta(launches, IModelDelta.STATE | IModelDelta.CONTENT);
-	}
-	
-	protected void fireDelta(ILaunch[] launches, int launchFlags) {
-		ModelDelta delta = new ModelDelta(fLaunchManager, IModelDelta.NO_CHANGE);
-		for (int i = 0; i < launches.length; i++) {
-			delta.addNode(launches[i], launchFlags);	
-		}
-		fireModelChanged(delta);		
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryBlockProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryBlockProxy.java
deleted file mode 100644
index 96b5118..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryBlockProxy.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-public class MemoryBlockProxy extends EventHandlerModelProxy  {
-	
-	private IMemoryBlock fMemoryBlock;
-	private DebugEventHandler fDebugEventHandler = new DebugEventHandler(this)  {
-
-		protected boolean handlesEvent(DebugEvent event) {
-			if (event.getKind() == DebugEvent.CHANGE && event.getSource() == fMemoryBlock)
-				return true;
-			
-			Object src = event.getSource();
-			if (src instanceof IDebugElement)
-			{
-				if (event.getKind() == DebugEvent.SUSPEND && ((IDebugElement)src).getDebugTarget() == fMemoryBlock.getDebugTarget())
-					return true;
-			}
-			return false;
-		}
-
-		protected void handleChange(DebugEvent event) {
-			if (event.getDetail() == DebugEvent.STATE)
-			{	
-				ModelDelta delta = new ModelDelta(fMemoryBlock, IModelDelta.STATE);
-				fireModelChanged(delta);
-			}
-			else
-			{
-				ModelDelta delta = new ModelDelta(fMemoryBlock, IModelDelta.CONTENT);
-				fireModelChanged(delta);
-			}
-		}
-
-		protected void handleSuspend(DebugEvent event) {
-			ModelDelta delta = new ModelDelta(fMemoryBlock, IModelDelta.CONTENT);
-			fireModelChanged(delta);
-		}
-
-		public synchronized void dispose() {
-			super.dispose();
-		}};
-	
-	public MemoryBlockProxy(IMemoryBlock mb)
-	{
-		fMemoryBlock = mb;
-	}
-
-
-	protected DebugEventHandler[] createEventHandlers() {
-		return new DebugEventHandler[]{fDebugEventHandler};
-	}
-
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryRetrievalProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryRetrievalProxy.java
deleted file mode 100644
index 808c058..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryRetrievalProxy.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
- 
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IMemoryBlockListener;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-public class MemoryRetrievalProxy extends AbstractModelProxy implements IMemoryBlockListener {
-	private IMemoryBlockRetrieval fRetrieval;
-
-	public MemoryRetrievalProxy(IMemoryBlockRetrieval retrieval)
-	{
-		fRetrieval = retrieval;
-	
-	}
-	
-	public void memoryBlocksAdded(IMemoryBlock[] memory) {
-		
-		ModelDelta delta = new ModelDelta(fRetrieval, IModelDelta.NO_CHANGE);
-		
-		for (int i=0; i<memory.length; i++){
-			IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval)memory[i].getAdapter(IMemoryBlockRetrieval.class);
-			if (retrieval == null)
-				retrieval = memory[i].getDebugTarget();
-			
-			if (retrieval != null)
-			{
-				if (retrieval == fRetrieval)
-				{
-					// select and take view's pinning state into account
-					delta.addNode(memory[i], IModelDelta.ADDED | IModelDelta.SELECT);
-				}
-			}
-		}
-		
-		fireModelChanged(delta);
-	}
-
-	public void memoryBlocksRemoved(IMemoryBlock[] memory) {
-		ModelDelta delta = new ModelDelta(fRetrieval, IModelDelta.NO_CHANGE);
-		
-		// find a memory block to select
-		
-		for (int i=0; i<memory.length; i++){
-			IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval)memory[i].getAdapter(IMemoryBlockRetrieval.class);
-			if (retrieval == null)
-				retrieval = memory[i].getDebugTarget();
-			
-			if (retrieval != null)
-			{
-				if (retrieval == fRetrieval)
-				{
-					// do not change selection if the memory block removed is not 
-					// currently selected
-					if (isMemoryBlockSelected(getCurrentSelection(), memory[i]))
-						addSelectDeltaNode(delta);
-					delta.addNode(memory[i], IModelDelta.REMOVED);
-				}
-			}
-		}
-		
-		fireModelChanged(delta);
-		
-	}
-
-	public void init(IPresentationContext context) {
-		super.init(context);
-		DebugPlugin.getDefault().getMemoryBlockManager().addListener(this);
-	}
-
-	public synchronized void dispose() {
-		super.dispose();
-		DebugPlugin.getDefault().getMemoryBlockManager().removeListener(this);
-	}
-
-	private void addSelectDeltaNode(ModelDelta delta)
-	{
-		IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(fRetrieval);
-		if (memoryBlocks != null && memoryBlocks.length > 0)
-		{
-			delta.addNode(memoryBlocks[0], IModelDelta.SELECT);
-		}
-	}
-	
-	private IStructuredSelection getCurrentSelection()
-	{
-		if (getPresentationContext() == null)
-		{
-			return StructuredSelection.EMPTY;
-		}
-		
-		ISelection selection = getPresentationContext().getPart().getSite().getSelectionProvider().getSelection();
-		
-		if (selection instanceof IStructuredSelection)
-			return (IStructuredSelection)selection;
-		
-		return StructuredSelection.EMPTY;
-	}
-	
-	private boolean isMemoryBlockSelected(IStructuredSelection selection, IMemoryBlock memoryBlock)
-	{
-		if (!selection.isEmpty())
-		{
-			Iterator iter = selection.iterator();
-			while (iter.hasNext())
-			{
-				Object sel = iter.next();
-				if (sel == memoryBlock)
-					return true;
-				
-				if (sel instanceof IMemoryRendering)
-				{
-					if (((IMemoryRendering)sel).getMemoryBlock() == memoryBlock)
-						return true;
-				}
-			}
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java
deleted file mode 100644
index a594ff2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-public class ProcessProxy extends EventHandlerModelProxy {
-
-    private IProcess fProcess;
-
-    private DebugEventHandler fProcessEventHandler = new DebugEventHandler(this) {
-        protected boolean handlesEvent(DebugEvent event) {
-            return event.getSource().equals(fProcess);
-        }
-
-		protected void handleChange(DebugEvent event) {
-			ModelDelta delta = null;
-        	synchronized (ProcessProxy.this) {
-        		if (!isDisposed()) {
-                    delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE);
-                    ModelDelta node = delta;
-                    node = node.addNode(fProcess.getLaunch(), IModelDelta.NO_CHANGE);
-                    node.addNode(fProcess, IModelDelta.STATE);        			
-        		}
-			}
-        	if (delta != null && !isDisposed()) {
-        		fireModelChanged(delta);
-        	}
-        }
-
-        protected void handleCreate(DebugEvent event) {
-        	// do nothing - Launch change notification handles this
-        }
-
-		protected void handleTerminate(DebugEvent event) {
-			handleChange(event);
-		}
-        
-        
-        
-    };
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#dispose()
-	 */
-	public synchronized void dispose() {
-		super.dispose();
-		fProcess = null;
-	}
-
-	public ProcessProxy(IProcess process) {
-        fProcess = process;
-    }
-
-    protected synchronized boolean containsEvent(DebugEvent event) {
-        return event.getSource().equals(fProcess);
-    }
-
-    protected DebugEventHandler[] createEventHandlers() {
-        return new DebugEventHandler[] {fProcessEventHandler};
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
deleted file mode 100644
index 0707619..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-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.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-/**
- * @since 3.2
- */
-public class ThreadEventHandler extends DebugEventHandler {
-	
-	/**
-	 * Queue of suspended threads to choose from when needing
-	 * to select a thread when another is resumed. Threads
-	 * are added in the order they suspend.
-	 */
-	private Set fThreadQueue = new LinkedHashSet();
-	
-	/** 
-	 * Map of previous TOS per thread
-	 */
-	private Map fLastTopFrame = new HashMap();
-	/**
-	 * Constructs and event handler for a threads in the given viewer.
-	 * 
-	 * @param viewer
-	 */
-	public ThreadEventHandler(AbstractModelProxy proxy) {
-		super(proxy);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler#dispose()
-	 */
-	public synchronized void dispose() {
-		fLastTopFrame.clear();
-		fThreadQueue.clear();
-		super.dispose();
-	}
-
-	protected void handleSuspend(DebugEvent event) {
-        IThread thread = (IThread) event.getSource();
-		if (event.isEvaluation()) {
-        	ModelDelta delta = buildRootDelta();
-    		ModelDelta node = addPathToThread(delta, thread);
-    		node = node.addNode(thread, IModelDelta.NO_CHANGE);
-			try {
-				IStackFrame frame = thread.getTopStackFrame();
-                if (frame != null) {
-                    node.addNode(frame, IModelDelta.STATE);
-                    fireDelta(delta);
-                }
-			} catch (DebugException e) {
-			}
-        } else {
-        	queueSuspendedThread(event);
-            int extras = IModelDelta.STATE;
-            if (event.getDetail() == DebugEvent.BREAKPOINT | event.getDetail() == DebugEvent.CLIENT_REQUEST) {
-                extras = IModelDelta.EXPAND;
-            }
-        	fireDeltaUpdatingTopFrame(thread, IModelDelta.NO_CHANGE | extras);
-        }
-	}
-	
-	private boolean isEqual(Object o1, Object o2) {
-		if (o1 == o2) {
-			return true;
-		}
-		if (o1 == null) {
-			return false;
-		}
-		return o1.equals(o2);
-	}
-
-	protected void handleResume(DebugEvent event) {
-		IThread thread = removeSuspendedThread(event);
-		fireDeltaAndClearTopFrame(thread, IModelDelta.STATE | IModelDelta.CONTENT);
-		thread = getNextSuspendedThread();
-		if (thread != null) {
-			fireDeltaUpdatingTopFrame(thread, IModelDelta.NO_CHANGE);
-		}
-	}
-
-	protected void handleCreate(DebugEvent event) {
-		fireDeltaAndClearTopFrame((IThread) event.getSource(), IModelDelta.ADDED | IModelDelta.STATE);
-	}
-
-	protected void handleTerminate(DebugEvent event) {
-		fireDeltaAndClearTopFrame((IThread) event.getSource(), IModelDelta.REMOVED);
-	}
-
-	protected void handleChange(DebugEvent event) {
-		if (event.getDetail() == DebugEvent.STATE) {
-			fireDeltaUpdatingThread((IThread) event.getSource(), IModelDelta.STATE);
-		} else {
-			fireDeltaUpdatingThread((IThread) event.getSource(), IModelDelta.CONTENT);
-		}
-	}
-
-	protected void handleLateSuspend(DebugEvent suspend, DebugEvent resume) {
-		IThread thread = queueSuspendedThread(suspend);
-		if (suspend.isEvaluation() && suspend.getDetail() == DebugEvent.EVALUATION_IMPLICIT) {
-			// late implicit evaluation - update thread and frame
-        	ModelDelta delta = buildRootDelta();
-    		ModelDelta node = addPathToThread(delta, thread);
-    		node = node.addNode(thread, IModelDelta.STATE);
-			try {
-				IStackFrame frame = thread.getTopStackFrame();
-                if (frame != null) {
-                    node.addNode(frame, IModelDelta.STATE);
-                    fireDelta(delta);
-                }
-			} catch (DebugException e) {
-			}
-        } else {	
-        	fireDeltaUpdatingTopFrame(thread, IModelDelta.CONTENT | IModelDelta.EXPAND);
-        }
-	}
-
-	protected void handleSuspendTimeout(DebugEvent event) {
-		IThread thread = removeSuspendedThread(event);
-		if (event.isEvaluation() && event.getDetail() == DebugEvent.EVALUATION_IMPLICIT) {
-			// don't collapse thread when waiting for implicit eval to complete
-			fireDeltaUpdatingThread(thread, IModelDelta.STATE);
-		} else {
-			fireDeltaAndClearTopFrame(thread, IModelDelta.CONTENT);
-		}
-	}
-	
-	private ModelDelta buildRootDelta() {
-		return new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE);
-	}
-	
-	protected ModelDelta addPathToThread(ModelDelta delta, IThread thread) {
-		delta = delta.addNode(thread.getLaunch(), IModelDelta.NO_CHANGE);
-		return delta.addNode(thread.getDebugTarget(), IModelDelta.NO_CHANGE);
-	}
-
-	private void fireDeltaAndClearTopFrame(IThread thread, int flags) {
-		ModelDelta delta = buildRootDelta();
-		ModelDelta node = addPathToThread(delta, thread);
-		node.addNode(thread, flags);
-		synchronized (this) {
-			fLastTopFrame.remove(thread);
-		}
-		fireDelta(delta);
-	}
-	
-	private void fireDeltaUpdatingTopFrame(IThread thread, int flags) {
-		ModelDelta delta = buildRootDelta();
-		ModelDelta node = addPathToThread(delta, thread);
-    	IStackFrame prev = null;
-    	synchronized (this) {
-    		 prev = (IStackFrame) fLastTopFrame.get(thread);
-		}
-    	IStackFrame frame = null;
-		try {
-			 frame = thread.getTopStackFrame();
-		} catch (DebugException e) {
-		}
-    	if (isEqual(frame, prev)) {
-    		if (frame == null) {
-    			if (thread.isSuspended()) {
-	    			// no frames, but suspended - update & select
-	    			node = node.addNode(thread, flags | IModelDelta.STATE | IModelDelta.SELECT);
-    			}
-    		} else {
-    			node = node.addNode(thread, flags);
-    		}
-    	} else {
-			node = node.addNode(thread, flags | IModelDelta.CONTENT);
-    	}
-    	if (frame != null) {
-            node.addNode(frame, IModelDelta.STATE | IModelDelta.SELECT);
-        }
-    	synchronized (this) {
-    		if (!isDisposed()) {
-    			fLastTopFrame.put(thread, frame);
-    		}
-		}
-    	fireDelta(delta);
-	}
-	
-	private void fireDeltaUpdatingThread(IThread thread, int flags) {
-		ModelDelta delta = buildRootDelta();
-		ModelDelta node = addPathToThread(delta, thread);
-	    node = node.addNode(thread, flags);
-    	fireDelta(delta);
-	}	
-	
-	protected boolean handlesEvent(DebugEvent event) {
-		return event.getSource() instanceof IThread;
-	}
-	
-	protected synchronized IThread queueSuspendedThread(DebugEvent event) {
-		IThread thread = (IThread) event.getSource();
-		if (!isDisposed()) {
-			fThreadQueue.add(thread);
-		}
-		return thread;
-	}
-	
-	protected synchronized IThread removeSuspendedThread(DebugEvent event) {
-		IThread thread = (IThread)event.getSource();
-		fThreadQueue.remove(thread);
-		return thread;
-	}
-	
-	protected synchronized IThread getNextSuspendedThread() {
-		if (!fThreadQueue.isEmpty()) {
-			return (IThread) fThreadQueue.iterator().next();
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java
deleted file mode 100644
index 4cee189..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta;
-
-/**
- *
- * @since 3.2
- */
-public class VariablesViewEventHandler extends DebugEventHandler {
-
-	private IStackFrame fFrame;
-
-	public VariablesViewEventHandler(AbstractModelProxy proxy, IStackFrame frame) {
-		super(proxy);
-		fFrame = frame;
-	}
-
-	protected boolean handlesEvent(DebugEvent event) {
-		return true;
-	}
-
-	protected void refreshRoot(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;
-				}
-			}
-			
-			ModelDelta delta = new ModelDelta(fFrame, IModelDelta.CONTENT);
-			fireDelta(delta);
-		}
-	}
-
-}
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 e376b1d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractViewerState.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 QNX Software Systems and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * QNX Software Systems - Initial API and implementation
-***********************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-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 implements Cloneable {
-
-	// paths to expanded elements
-	private List fSavedExpansion = null;
-	private IPath[] fSelection;
-	
-	public AbstractViewerState() {
-	}
-	
-	/**
-	 * Constructs a memento for the given viewer.
-	 */
-	public AbstractViewerState(AsynchronousTreeViewer 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(AsynchronousTreeViewer viewer) {
-		List expanded = new ArrayList();
-		fSavedExpansion = null;
-		TreeItem[] items = viewer.getTree().getItems();
-		try {
-			for (int i = 0; i < items.length; i++) {
-				collectExpandedItems(items[i], expanded);
-			}
-			if (expanded.size() > 0) {
-				fSavedExpansion = expanded;
-			}
-		} catch (DebugException e) {
-			fSavedExpansion = 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]);
-		        if (fSelection[i] == null) {
-		            fSelection = null;
-		            return;
-		        }
-		    }
-		} catch (DebugException e) {
-		    fSelection = null;
-		}
-	}
-
-	/**
-	 * Collects paths to expanded children of the given element and returns
-	 * whether any paths were expanded.
-	 *  
-	 * @param item item to collect expanded paths for
-	 * @param expanded list to add to
-	 * @return whether any paths were found expanded
-	 * @throws DebugException
-	 */
-	protected boolean collectExpandedItems(TreeItem item, List expanded) throws DebugException {
-        if (item.getExpanded()) {
-            boolean childExpanded = false;
-            TreeItem[] items = item.getItems();
-            for (int i = 0; i < items.length; i++) {
-                childExpanded = collectExpandedItems(items[i], expanded) || childExpanded;
-            }
-            if (!childExpanded) {
-            	IPath path = encodeElement(item);
-            	expanded.add(path);
-            }
-        } else {
-        	return false;
-        }
-        return true;
-    }
-
-	/**
-	 * 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(AsynchronousTreeViewer viewer) {
-	    boolean expansionComplete = true;
-	    if (fSavedExpansion != null && fSavedExpansion.size() > 0) {
-			for (int i = 0; i < fSavedExpansion.size(); i++) {
-				IPath path = (IPath) fSavedExpansion.get(i);
-				if (path != null) {
-					try {
-						TreePath treePath = decodePath(path, viewer);
-						if (treePath != null) {
-							viewer.expand(new TreeSelection(new TreePath[] { treePath }));
-							
-							if (treePath.getSegmentCount()-1 != path.segmentCount()) {
-								expansionComplete = false;
-							}
-						} else {
-							expansionComplete =false;
-						}
-					} catch (DebugException e) {
-					}
-				}
-			}
-			if (expansionComplete) {
-				fSavedExpansion = null;
-			}
-		}
-	    
-	    boolean selectionComplete = true;
-	    if (fSelection != null && fSelection.length > 0) {
-	        List selection = new ArrayList(fSelection.length);
-	        for (int i = 0; i < fSelection.length; i++) {
-	            IPath path = fSelection[i];
-	            TreePath obj;
-	            try {
-	                obj = decodePath(path, viewer);
-	                if (obj != null && obj.getSegmentCount()-1 == path.segmentCount()) {
-	                    selection.add(obj);
-	                } else {
-	                    selectionComplete = false;               
-	                }
-	            } catch (DebugException e) {
-	            }
-	        }
-            if (selection.size() > 0) {
-            		TreePath[] treePaths = (TreePath[]) selection.toArray(new TreePath[0]);
-                viewer.setSelection(new TreeSelection(treePaths));
-            }
-	        if (selectionComplete) {
-	            fSelection = null;
-	        }
-	    }
-	}
-	
-	/**
-	 * 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 TreePath decodePath(IPath path, AsynchronousTreeViewer viewer) throws DebugException;
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#clone()
-	 */
-	public Object clone() {
-		AbstractViewerState clone = null;
-		try {
-			clone = (AbstractViewerState) this.getClass().newInstance();
-		} catch (InstantiationException e) {
-			return null;
-		} catch (IllegalAccessException e) {
-			return null;
-		}
-		if (fSavedExpansion != null) {
-			clone.fSavedExpansion = new ArrayList(fSavedExpansion.size());
-			Iterator iterator = fSavedExpansion.iterator();
-			while (iterator.hasNext()) {
-				IPath path = (IPath) iterator.next();
-				IPath clonePath = Path.fromPortableString(path.toPortableString());
-				clone.fSavedExpansion.add(clonePath);
-			}
-		}
-		if (fSelection != null) {
-			clone.fSelection = new IPath[fSelection.length];
-			for (int i = 0; i < fSelection.length; i++) {
-				clone.fSelection[i] = Path.fromPortableString(fSelection[i].toPortableString());
-			}
-		}
-		return clone;
-	}
-}
\ No newline at end of file
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 8c18b48..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-import org.eclipse.osgi.util.NLS;
-
-public class DebugUIViewsMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.views.DebugUIViewsMessages";//$NON-NLS-1$
-
-	public static String find_replace_action_label;
-	public static String find_replace_action_tooltip;
-	public static String find_replace_action_image;
-	public static String find_replace_action_description;
-
-	public static String LaunchView_Error_1;
-	public static String LaunchViewer_0;
-	public static String LaunchViewer_1;
-	public static String LaunchView_0;
-	public static String LaunchView_1;
-	public static String LaunchView_Exception_occurred_opening_editor_for_debugger__2;
-	public static String LaunchView_Terminate_and_Remove_1;
-	public static String LaunchView_Terminate_and_remove_selected__2;
-	public static String LaunchView_Exceptions_occurred_attempting_to_terminate_and_remove_3;
-	public static String LaunchView_Terminate_and_Remove_4;
-	public static String LaunchView_Terminate_and_remove_failed_5;
-
-	public static String SourceNotFoundEditorInput_Source_Not_Found_1;
-	public static String SourceNotFoundEditorInput_Source_not_found_for__0__2;
-
-	public static String BreakpointsView_6;
-	public static String BreakpointsView_7;
-	public static String BreakpointsView_8;
-	public static String BreakpointsView_9;
-	public static String BreakpointsView_0;
-	public static String BreakpointsView_10;
-	public static String BreakpointsView_11;
-	public static String BreakpointsView_1;
-	public static String BreakpointWorkingSetPage_0;
-	public static String BreakpointWorkingSetPage_1;
-	public static String BreakpointWorkingSetPage_2;
-	public static String BreakpointWorkingSetPage_3;
-	public static String BreakpointWorkingSetPage_4;
-	public static String BreakpointWorkingSetPage_5;
-	public static String BreakpointWorkingSetPage_6;
-	public static String BreakpointWorkingSetPage_selectAll_label;
-	public static String BreakpointWorkingSetPage_selectAll_toolTip;
-	public static String BreakpointWorkingSetPage_deselectAll_label;
-	public static String BreakpointWorkingSetPage_deselectAll_toolTip;
-	public static String OtherBreakpointOrganizer_0;
-	public static String WorkingSetCategory_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, DebugUIViewsMessages.class);
-	}
-
-    public static String InspectPopupDialog_0;
-
-    public static String InspectPopupDialog_1;
-}
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 16df163..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
+++ /dev/null
@@ -1,54 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-find_replace_action_label=&Find/Replace...@Ctrl+F
-find_replace_action_tooltip=Find/Replace
-find_replace_action_image=
-find_replace_action_description=Find/Replace
-
-LaunchView_Error_1=Error
-LaunchViewer_0=Selection Job
-LaunchViewer_1=Expansion Job
-LaunchView_0=Debug Source Lookup
-LaunchView_1=Debug Display Source
-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_0=Enable Breakpoint
-BreakpointsView_10=Error {0} Breakpoint
-BreakpointsView_11=An exception occurred while attempting to {0} the breakpoint.
-BreakpointsView_1=Disable Breakpoint
-BreakpointWorkingSetPage_0=Breakpoint Working Set
-BreakpointWorkingSetPage_1=Enter a working set name and select breakpoints.
-BreakpointWorkingSetPage_2=&Working set name:
-BreakpointWorkingSetPage_3=Brea&kpoints:
-BreakpointWorkingSetPage_4=The name must not have leading or trailing whitespace
-BreakpointWorkingSetPage_5=The name must not be empty
-BreakpointWorkingSetPage_6=A working set with that name already exists
-BreakpointWorkingSetPage_selectAll_label=Select &All
-BreakpointWorkingSetPage_selectAll_toolTip=Select all of the breakpoints for this working set.
-BreakpointWorkingSetPage_deselectAll_label=Dese&lect All
-BreakpointWorkingSetPage_deselectAll_toolTip=Deselect all of the breakpoints for this working set.
-OtherBreakpointOrganizer_0=Others
-WorkingSetCategory_0=\ (default)
-InspectPopupDialog_0=Move to Expressions View
-InspectPopupDialog_1=Press {0} to {1}
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 4bc7087..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM 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/ViewContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java
deleted file mode 100644
index b02e0b5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Manages the view context services for each window.
- * 
- * @since 3.2
- */
-public class ViewContextManager implements IWindowListener {
-		
-	/**
-	 * Map of services
-	 */
-	private Map fWindowToService = new HashMap();
-	
-	// singleton manager
-	private static ViewContextManager fgManager;
-	
-	/**
-	 * Returns the singleton view context manager.
-	 * 
-	 * @return view manager
-	 */
-	public static ViewContextManager getDefault() {
-		if (fgManager == null) {
-			fgManager = new ViewContextManager();
-		}
-		return fgManager;
-	}
-	
-	
-	private ViewContextManager() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow[] workbenchWindows = workbench.getWorkbenchWindows();
-		for (int i = 0; i < workbenchWindows.length; i++) {
-			IWorkbenchWindow window = workbenchWindows[i];
-			windowOpened(window);
-		}
-		workbench.addWindowListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowActivated(IWorkbenchWindow window) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowDeactivated(IWorkbenchWindow window) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowClosed(IWorkbenchWindow window) {
-		ViewContextService service = (ViewContextService) fWindowToService.get(window);
-		if (service != null) {
-			service.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowOpened(IWorkbenchWindow window) {
-		ViewContextService service = (ViewContextService) fWindowToService.get(window);
-		if (service == null) {
-			service = new ViewContextService(window);
-			fWindowToService.put(window, service);
-		}
-	}
-	
-	/**
-	 * Returns the service for the given window, or <code>null</code> if none.
-	 * 
-	 * @param window
-	 * @return view context service or <code>null</code>
-	 */
-	public ViewContextService getService(IWorkbenchWindow window) {
-		return (ViewContextService) fWindowToService.get(window);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java
deleted file mode 100644
index ea8530f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java
+++ /dev/null
@@ -1,878 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.commands.contexts.Context;
-import org.eclipse.core.commands.contexts.ContextManagerEvent;
-import org.eclipse.core.commands.contexts.IContextManagerListener;
-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.runtime.Preferences.IPropertyChangeListener;
-import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
-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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.DebugModelContextBindingManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener4;
-import org.eclipse.ui.IViewReference;
-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.PlatformUI;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.contexts.IContextService;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Performs view management for a window.
- * 
- * @since 3.2
- */
-public class ViewContextService implements IDebugContextListener, IPerspectiveListener4, IPropertyChangeListener, IContextManagerListener {
-	
-	/**
-	 * Maps the perspectives in this window to its last activated workbench context
-	 */
-	private Map fPerspectiveToActiveContext = new HashMap();
-	
-	/**
-	 * Map of the perspectives to all workbench contexts activated in that perspective 
-	 */
-	private Map fPerspectiveToActivatedContexts = new HashMap();
-	
-	/**
-	 * Map of context ids to context view ids that have bindings
-	 */
-	private Map fContextIdsToViewIds;
-    
-    /**
-     * Map of view id to its info
-     */
-    private Map fViewBindings;
-	
-	/**
-	 * List of perspectives that debugging is allowed in
-	 */
-	private List fEnabledPerspectives = new ArrayList();	
-    
-    /**
-     * Whether to ignore perspective change callbacks (set to 
-     * true when this class is modifying views). 
-     */
-    private boolean fIgnoreChanges = false;
-	
-	/**
-	 * The window this service is working for
-	 */
-	private IWorkbenchWindow fWindow;
-	
-	private IContextService fContextService;
-	
-	// base debug context
-	public static final String DEBUG_CONTEXT= "org.eclipse.debug.ui.debugging"; //$NON-NLS-1$
-	
-	// extension point
-	private static final String ID_CONTEXT_VIEW_BINDINGS= "contextViewBindings"; //$NON-NLS-1$
-	
-	// extension attributes
-	private static final String ATTR_CONTEXT_ID= "contextId"; //$NON-NLS-1$
-	private static final String ATTR_VIEW_ID= "viewId"; //$NON-NLS-1$
-	private static final String ATTR_AUTO_OPEN= "autoOpen"; //$NON-NLS-1$
-	private static final String ATTR_AUTO_CLOSE= "autoClose"; //$NON-NLS-1$	
-    
-    // XML tags
-    private static final String XML_ELEMENT_VIEW_BINDINGS ="viewBindings"; //$NON-NLS-1$
-    private static final String XML_ELEMENT_PERSPECTIVE ="perspective"; //$NON-NLS-1$
-    private static final String XML_ELEMENT_VIEW = "view"; //$NON-NLS-1$
-    private static final String XML_ATTR_ID = "id"; //$NON-NLS-1$
-    private static final String XML_ATTR_USER_ACTION = "userAction"; //$NON-NLS-1$
-    private static final String XML_VALUE_OPENED = "opened"; //$NON-NLS-1$
-    private static final String XML_VALUE_CLOSED = "closed"; //$NON-NLS-1$
-    
-    // ids of base debug views in debug perspective that should not be auto-closed
-    private static Set fgBaseDebugViewIds = null;
-    
-    static {
-        fgBaseDebugViewIds = new HashSet();
-        fgBaseDebugViewIds.add(IDebugUIConstants.ID_DEBUG_VIEW);
-        fgBaseDebugViewIds.add(IDebugUIConstants.ID_VARIABLE_VIEW);
-        fgBaseDebugViewIds.add(IDebugUIConstants.ID_BREAKPOINT_VIEW);
-        fgBaseDebugViewIds.add(IConsoleConstants.ID_CONSOLE_VIEW);
-    }
-    
-    /**
-     * Information for a view
-     */
-    private class ViewBinding {
-        private IConfigurationElement fElement;
-        /**
-         * Set of perspectives this view was opened in by the user
-         */
-        private Set fUserOpened = new HashSet();
-        /**
-         * Set of perspectives this view was closed in by the user
-         */
-        private Set fUserClosed = new HashSet();
-        
-        public ViewBinding(IConfigurationElement element) {
-            fElement = element;
-        }
-        
-        /**
-         * Returns the id of the view this binding pertains to.
-         * 
-         * @return
-         */
-        public String getViewId() {
-            return fElement.getAttribute(ATTR_VIEW_ID);
-        }
-        
-        /**
-         * Returns whether this view binding is set for auto-open.
-         * 
-         * @return
-         */
-        public boolean isAutoOpen() {
-            String autoopen = fElement.getAttribute(ATTR_AUTO_OPEN);
-            return autoopen == null || "true".equals(autoopen); //$NON-NLS-1$
-        }
-        
-        /**
-         * Returns whether this view binding is set for auto-close.
-         * 
-         * @return
-         */
-        public boolean isAutoClose() {
-            String autoclose = fElement.getAttribute(ATTR_AUTO_CLOSE);
-            return autoclose == null || "true".equals(autoclose); //$NON-NLS-1$
-        }
-        
-        /**
-         * Returns whether this view was opened by the user in the active perspective.
-         * @return
-         */
-        public boolean isUserOpened() {
-            return fUserOpened.contains(getActivePerspective().getId());
-        }
-        
-        /**
-         * Returns whether this view was closed by the user in the active perspective
-         * @return
-         */
-        public boolean isUserClosed() {
-            return fUserClosed.contains(getActivePerspective().getId());
-        }
-        
-        /**
-         * Returns whether this view is part of the active persepctive by default
-         * 
-         * TODO: we really need a programatic way to determine which views are
-         * in a perspective by default, but it does not seem to exist.
-         * 
-         * @return
-         */
-        public boolean isDefault() {
-            String id = getActivePerspective().getId();
-            if (IDebugUIConstants.ID_DEBUG_PERSPECTIVE.equals(id)) {
-                return fgBaseDebugViewIds.contains(getViewId());
-            }
-            return false;
-        }
-        
-        protected void userOpened() {
-            if (isTrackingViews()) {
-                String id = getActivePerspective().getId();
-                fUserOpened.add(id);
-                fUserClosed.remove(id);
-                saveViewBindings();
-            }
-        }
-        
-        protected void userClosed() {
-            if (isTrackingViews()) {
-                String id = getActivePerspective().getId();
-                fUserClosed.add(id);
-                fUserOpened.remove(id);
-                saveViewBindings();
-            }
-        }
-        
-        /**
-         * Returns whether the preference is set to track user view open/close.
-         * 
-         * @return
-         */
-        protected boolean isTrackingViews() {
-            return DebugUITools.getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TRACK_VIEWS);
-        }
-        
-        /**
-         * Context has been activated, open/show as required.
-         * 
-         * @param page
-         */
-        public void activated(IWorkbenchPage page) {
-            if (!isUserClosed()) {
-                if (isAutoOpen()) {
-                    try {
-                        fIgnoreChanges = true;
-                        page.showView(getViewId(), null, IWorkbenchPage.VIEW_CREATE);
-                    } catch (PartInitException e) {
-                        DebugUIPlugin.log(e);
-                    } finally {
-                        fIgnoreChanges = false;
-                    }
-                    // TODO: bring to top if less relevant view is on top open
-                }
-            }
-        }
-        
-        /**
-         * Context has been deactivated, close as required.
-         * 
-         * @param page
-         */
-        public void deactivated(IWorkbenchPage page) {
-            if (!isUserOpened()) {
-                if (isAutoClose() && !isDefault()) {
-                    IViewReference reference = page.findViewReference(getViewId());
-                    if (reference != null) {
-                        try {
-                            fIgnoreChanges = true;
-                            page.hideView(reference);
-                        } finally {
-                            fIgnoreChanges = false;
-                        }
-                    }
-                }
-            }
-        }
-
-        /**
-         * Save view binding settings into XML doc.
-         * 
-         * @param document
-         * @param root
-         */
-        public void saveBindings(Document document, Element root) {
-            Element viewElement = document.createElement(XML_ELEMENT_VIEW);
-            viewElement.setAttribute(XML_ATTR_ID, getViewId());
-            appendPerspectives(document, viewElement, fUserOpened, XML_VALUE_OPENED);
-            appendPerspectives(document, viewElement, fUserClosed, XML_VALUE_CLOSED);
-            if (viewElement.hasChildNodes()) {
-                root.appendChild(viewElement);
-            }
-        }
-        
-        private void appendPerspectives(Document document, Element parent, Set perpectives, String xmlValue) {
-            String[] ids = (String[]) perpectives.toArray(new String[perpectives.size()]);
-            for (int i = 0; i < ids.length; i++) {
-                String id = ids[i];
-                Element element = document.createElement(XML_ELEMENT_PERSPECTIVE);
-                element.setAttribute(XML_ATTR_ID, id);
-                element.setAttribute(XML_ATTR_USER_ACTION, xmlValue);
-                parent.appendChild(element);
-            }
-        }
-        
-        public void applyUserSettings(Element viewElement) {
-            NodeList list = viewElement.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(XML_ELEMENT_PERSPECTIVE)){
-                        String id = entry.getAttribute(XML_ATTR_ID);
-                        String setting = entry.getAttribute(XML_ATTR_USER_ACTION);
-                        if (id != null) {
-                            if (XML_VALUE_CLOSED.equals(setting)) {
-                                fUserClosed.add(id);
-                            } else if (XML_VALUE_OPENED.equals(setting)) {
-                                fUserOpened.add(id);
-                            }
-                        }
-                    }
-                }
-            }       
-        }
-    }
-	
-	/**
-	 * Creates a service for the given window
-	 * 
-	 * @param window
-	 */
-	ViewContextService(IWorkbenchWindow window) {
-		fWindow = window;
-		loadContextToViewExtensions();
-        applyUserViewBindings();
-		loadPerspectives();
-		window.addPerspectiveListener(this);
-		DebugContextManager.getDefault().addDebugContextListener(this, window);
-		DebugUIPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(this);
-		fContextService = (IContextService) PlatformUI.getWorkbench().getAdapter(IContextService.class);
-		fContextService.addContextManagerListener(this);
-	}
-	
-	public void dispose() {
-		fWindow.removePerspectiveListener(this);
-		DebugContextManager.getDefault().removeDebugContextListener(this, fWindow);
-		DebugUIPlugin.getDefault().getPluginPreferences().removePropertyChangeListener(this);
-		fContextService.removeContextManagerListener(this);
-	}
-	
-	/**
-	 * Loads extensions which map context ids to views.
-	 */
-	private void loadContextToViewExtensions() {
-        fContextIdsToViewIds = new HashMap();
-        fViewBindings = new HashMap();
-		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 = element.getAttribute(ATTR_VIEW_ID);
-			String contextId = element.getAttribute(ATTR_CONTEXT_ID);
-			if (contextId == null || viewId == null) {
-				continue;
-			}
-            ViewBinding info = new ViewBinding(element);
-			List ids= (List) fContextIdsToViewIds.get(contextId);
-			if (ids == null) {
-				ids= new ArrayList();
-				fContextIdsToViewIds.put(contextId, ids);
-			}
-			ids.add(viewId);
-            fViewBindings.put(viewId, info);
-		}
-	}
-    
-    /**
-     * Applies user settings that modify view binding extensions.
-     */
-    private void applyUserViewBindings() {
-        String xml = DebugUITools.getPreferenceStore().getString(IInternalDebugUIConstants.PREF_USER_VIEW_BINDINGS);
-        if (xml.length() > 0) {
-            try {
-                Element root = DebugPlugin.parseDocument(xml);
-                NodeList list = root.getChildNodes();
-                int length = list.getLength();
-                for (int i = 0; i < length; ++i) {
-                    Node node = list.item(i);
-                    short type = node.getNodeType();
-                    if (type == Node.ELEMENT_NODE) {
-                        Element entry = (Element) node;
-                        if(entry.getNodeName().equalsIgnoreCase(XML_ELEMENT_VIEW)){
-                            String id = entry.getAttribute(XML_ATTR_ID);
-                            ViewBinding binding = (ViewBinding) fViewBindings.get(id);
-                            if (binding != null) {
-                                binding.applyUserSettings(entry);
-                            }
-                        }
-                    }
-                }                
-            } catch (CoreException e) {
-                DebugUIPlugin.log(e);
-            }
-        }
-    }
-	
-	/**
-	 * Load the collection of perspectives in which view management will occur from the preference store.
-	 */
-	private void loadPerspectives() {
-		String prefString = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES);
-		fEnabledPerspectives = parseList(prefString);
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-        if (!fIgnoreChanges) {
-    		if (IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES.equals(event.getProperty())) {
-    			loadPerspectives();
-    		} else if (IInternalDebugUIConstants.PREF_USER_VIEW_BINDINGS.equals(event.getProperty())) {
-    		    loadContextToViewExtensions();
-                applyUserViewBindings();
-                // clear activations to re-enable activation based on new settings
-                fPerspectiveToActivatedContexts.clear();
-                ISelection selection = DebugContextManager.getDefault().getActiveContext(fWindow);
-                contextActivated(selection, null);
-            }
-        }
-	}	
-	
-	/**
-	 * Returns whether this service's window's active perspective supports view management.
-	 * 
-	 * @return whether this service's window's active perspective supports view management
-	 */
-	private boolean isEnabledPerspective() {
-		IPerspectiveDescriptor perspective = getActivePerspective();
-		if (perspective != null) {
-			return fEnabledPerspectives.contains(perspective.getId());
-		}
-		return false;
-	}	
-	
-	/**
-	 * Returns the active perspective in this service's window, or <code>null</code>
-	 * 
-	 * @return active perspective or <code>null</code>
-	 */
-	private IPerspectiveDescriptor getActivePerspective() {
-		IWorkbenchPage activePage = fWindow.getActivePage();
-		if (activePage != null) {
-			return activePage.getPerspective();
-		}
-		return null;
-	}
-	
-	/**
-	 * 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;
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.contexts.IDebugContextListener#contextActivated(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextActivated(ISelection selection, IWorkbenchPart part) {
-		if (isEnabledPerspective()) {
-			if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
-				IStructuredSelection ss = (IStructuredSelection) selection;
-				Iterator iterator = ss.iterator();
-				while (iterator.hasNext()) {
-					Object target = iterator.next();
-					ILaunch launch = DebugModelContextBindingManager.getLaunch(target);
-					if (launch != null) {
-						ILaunchConfiguration launchConfiguration = launch.getLaunchConfiguration();
-						if (launchConfiguration != null) {
-							try {
-								ILaunchConfigurationType type = launchConfiguration.getType();
-								// check if this perspective is enabled for the launch type
-								if (fContextService.getActiveContextIds().contains(type.getIdentifier() + "." + getActivePerspective().getId())) { //$NON-NLS-1$
-									List workbenchContexts = DebugModelContextBindingManager.getDefault().getWorkbenchContextsForDebugContext(target);
-									// TODO: do we need to check if contexts are actually enabled in workbench first?
-									if (!workbenchContexts.isEmpty()) {
-										// if all contexts already activate and last context is already active context == done
-										Iterator contexts = workbenchContexts.iterator();
-										while (contexts.hasNext()) {
-											String contextId = (String)contexts.next();
-											if (!isActivated(contextId)) {
-												activateChain(contextId);
-											}
-											// ensure last context gets top priority
-											if (!contexts.hasNext()) {
-												if (!isActiveContext(contextId)) {
-													activate(contextId);
-												}
-											}
-										}
-									}
-									
-								}
-							} catch (CoreException e) {
-								DebugUIPlugin.log(e);
-							}
-						}												
-					}						
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns whether the given context is the active context in the active perspective.
-	 * 
-	 * @param contextId
-	 * @return
-	 */
-	private boolean isActiveContext(String contextId) {
-		IPerspectiveDescriptor activePerspective = getActivePerspective();
-		if (activePerspective != null) {
-			String activeId = (String) fPerspectiveToActiveContext.get(activePerspective);
-			return contextId.equals(activeId);
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the given context is activated in the active perspective. 
-	 * 
-	 * @param contextId
-	 * @return
-	 */
-	private boolean isActivated(String contextId) {
-		IPerspectiveDescriptor activePerspective = getActivePerspective();
-		if (activePerspective != null) {
-			Set contexts = (Set) fPerspectiveToActivatedContexts.get(activePerspective); 
-			if (contexts != null) {
-				return contexts.contains(contextId);
-			}
-		}
-		return false;
-	}
-	
-	private void addActivated(String contextId) {
-		IPerspectiveDescriptor activePerspective = getActivePerspective();
-		if (activePerspective != null) {
-			Set contexts = (Set) fPerspectiveToActivatedContexts.get(activePerspective); 
-			if (contexts == null) {
-				contexts = new HashSet();
-				fPerspectiveToActivatedContexts.put(activePerspective, contexts);
-			}
-			contexts.add(contextId);
-		}
-	}
-	
-	private void removeActivated(String contextId) {
-		IPerspectiveDescriptor activePerspective = getActivePerspective();
-		if (activePerspective != null) {
-			Set contexts = (Set) fPerspectiveToActivatedContexts.get(activePerspective); 
-			if (contexts != null) {
-				contexts.remove(contextId);
-			}
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.contexts.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveListener3#perspectiveOpened(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
-	 */
-	public void perspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective) {        
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveListener3#perspectiveClosed(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
-	 */
-	public void perspectiveClosed(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveListener3#perspectiveDeactivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
-	 */
-	public void perspectiveDeactivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-	}
-	
-	/**
-	 * Closes all auto-opened views.
-	 * 
-	 * @param page
-	 * @param perspective
-	 */
-	private void clean(IPerspectiveDescriptor perspective) {
-		Set contexts = (Set) fPerspectiveToActivatedContexts.remove(perspective);
-		fPerspectiveToActiveContext.remove(perspective);
-		if (contexts != null) {
-			Iterator iterator = contexts.iterator();
-			while (iterator.hasNext()) {
-				String id = (String) iterator.next();
-				deactivate(id);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveListener3#perspectiveSavedAs(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, org.eclipse.ui.IPerspectiveDescriptor)
-	 */
-	public void perspectiveSavedAs(IWorkbenchPage page, IPerspectiveDescriptor oldPerspective, IPerspectiveDescriptor newPerspective) {
-	}
-
-	/* (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 (!fIgnoreChanges && page.getWorkbenchWindow().equals(fWindow)) {
-			if(partRef != null) {
-	            ViewBinding info = (ViewBinding) fViewBindings.get(partRef.getId());
-	            if (info != null) {
-	                if (IWorkbenchPage.CHANGE_VIEW_SHOW == changeId) {
-	                    info.userOpened();
-	                } else if (IWorkbenchPage.CHANGE_VIEW_HIDE == changeId) {
-	                    info.userClosed();
-	                }
-	            }
-			}
-        }	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveListener#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
-	 */
-	public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-		if (page.getWorkbenchWindow().equals(fWindow)) {
-			ISelection activeContext = DebugContextManager.getDefault().getActiveContext(fWindow);
-			if (activeContext != null) {
-				contextActivated(activeContext, null);
-			}
-		}
-	}
-
-	/* (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) {
-	}
-	
-	/**
-	 * Activates all parent contexts of the given context, top down.
-	 * 
-	 * @param contextId
-	 */
-	private void activateChain(String contextId) {
-		String[] contextChain = getContextChain(contextId);
-		if (contextChain != null) {
-			for (int i = 0; i < contextChain.length; i++) {
-				activate(contextChain[i]);
-			}
-		}
-	}
-	
-	/**
-	 * Returns the debug context for the given leaf context, top down.
-	 * 
-	 * @param contextId
-	 * @return context chain or <code>null</code>
-	 */
-	private String[] getContextChain(String contextId) {
-		List chain = new ArrayList();
-		Context context = null;
-		do {
-			if (context != null) {
-				try {
-					contextId = context.getParentId();
-				} catch (NotDefinedException e) {
-					DebugUIPlugin.log(e);
-					return null;
-				}
-			}
-			context = fContextService.getContext(contextId);
-			chain.add(0, contextId);
-		} while (!contextId.equals(DEBUG_CONTEXT));
-		return (String[]) chain.toArray(new String[chain.size()]);
-	}
-	
-	/**
-	 * Activates the given context in the active perspective.
-	 * 
-	 * @param contextId
-	 */
-	private void activate(String contextId) {
-		IWorkbenchPage page = fWindow.getActivePage();
-		if (page != null) {
-			IPerspectiveDescriptor perspective = page.getPerspective();
-			if (perspective != null) {
-				addActivated(contextId);
-				setActive(perspective, contextId);
-				List viewIds = (List) fContextIdsToViewIds.get(contextId);
-				if (viewIds != null) {
-					Iterator iterator = viewIds.iterator();
-					while (iterator.hasNext()) {
-						String id = (String) iterator.next();
-                        ViewBinding info = (ViewBinding) fViewBindings.get(id);
-                        info.activated(page);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Sets the active context in the given perspective, or removes
-	 * when <code>null</code>.
-	 * 
-	 * @param perspective
-	 * @param contextId
-	 */
-	private void setActive(IPerspectiveDescriptor perspective, String contextId) {
-		if (contextId == null) {
-			fPerspectiveToActiveContext.remove(perspective);
-		} else {
-			fPerspectiveToActiveContext.put(perspective, contextId);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.commands.contexts.IContextManagerListener#contextManagerChanged(org.eclipse.core.commands.contexts.ContextManagerEvent)
-	 */
-	public void contextManagerChanged(ContextManagerEvent event) {
-		if (event.isActiveContextsChanged()) {
-			Set disabledContexts = getDisabledContexts(event);
-			if (!disabledContexts.isEmpty()) {
-				Iterator contexts = disabledContexts.iterator();
-				while (contexts.hasNext()) {
-					String contextId = (String)contexts.next();
-					if (isViewConetxt(contextId)) {
-						if (isActivated(contextId)) {
-							deactivate(contextId);
-						}
-					}
-				}
-			}
-		}
-	}
-	
-	private void deactivate(String contextId) {
-		IWorkbenchPage page = fWindow.getActivePage();
-		if (page != null) {
-			IPerspectiveDescriptor perspective = page.getPerspective();
-			if (perspective != null) {
-				removeActivated(contextId);
-				if (isActiveContext(contextId)) {
-					setActive(perspective, null);
-				}
-                List viewIds = (List) fContextIdsToViewIds.get(contextId);
-                if (viewIds != null) {
-                    Iterator iterator = viewIds.iterator();
-                    while (iterator.hasNext()) {
-                        String id = (String) iterator.next();
-                        ViewBinding info = (ViewBinding) fViewBindings.get(id);
-                        info.deactivated(page);
-                    }
-                }
-			}
-		}		
-	}
-	
-	/**
-	 * Returns a set of contexts disabled in the given event, possibly empty.
-	 * 
-	 * @param event
-	 * @return disabled context ids
-	 */
-	private Set getDisabledContexts(ContextManagerEvent event) {
-		Set prev = new HashSet(event.getPreviouslyActiveContextIds());
-		Set activeContextIds = event.getContextManager().getActiveContextIds();
-		if (activeContextIds != null) {
-			prev.removeAll(activeContextIds);
-		}
-		return prev;
-	}	
-
-	/**
-	 * Returns whether the given context has view bindings.
-	 * 
-	 * @param id
-	 * @return whether the given context has view bindings
-	 */
-	private boolean isViewConetxt(String id) {
-		return fContextIdsToViewIds.containsKey(id);
-	}
-    
-    /**
-     * Save view binding settings that differ from extension settings
-     */
-    private void saveViewBindings() {
-        try {
-            Document document = DebugPlugin.newDocument();
-            Element root = document.createElement(XML_ELEMENT_VIEW_BINDINGS);
-            document.appendChild(root);
-            Iterator bindings = fViewBindings.values().iterator();
-            while (bindings.hasNext()) {
-                ViewBinding binding = (ViewBinding) bindings.next();
-                binding.saveBindings(document, root);
-            }
-            String prefValue = ""; //$NON-NLS-1$
-            if (root.hasChildNodes()) {
-            	prefValue = DebugPlugin.serializeDocument(document);
-            }
-            fIgnoreChanges = true;
-            DebugUITools.getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_USER_VIEW_BINDINGS, prefValue);
-        } catch (CoreException e) {
-            DebugUIPlugin.log(e);
-        } finally {
-            fIgnoreChanges = false;
-        }
-
-    }    
-    
-    /**
-     * Returns the perspectives in which debugging is enabled.
-     * 
-     * @return
-     */
-    public String[] getEnabledPerspectives() {
-    	return (String[]) fEnabledPerspectives.toArray(new String[fEnabledPerspectives.size()]);
-    }
-    
-    /**
-     * Show the view without effecting user preferences
-     * 
-     * @param viewId
-     */
-    public void showViewQuiet(String viewId) {
-		IWorkbenchPage page = fWindow.getActivePage();
-		if (page != null) {
-			try {
-				fIgnoreChanges = true;
-				page.showView(viewId, null, IWorkbenchPage.VIEW_VISIBLE);
-			} catch (PartInitException e) {
-				DebugUIPlugin.log(e);
-			} finally {
-				fIgnoreChanges = false;
-			}
-		}    	
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveListener4#perspectivePreDeactivate(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
-	 */
-	public void perspectivePreDeactivate(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-		if (page.getWorkbenchWindow().equals(fWindow)) {
-			clean(perspective);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java
deleted file mode 100644
index 6b852f3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-/**
- * A container of breakpoints, based on a category.
- */
-public class BreakpointContainer extends PlatformObject    {
-
-    private IAdaptable fCategory;
-    private IBreakpointOrganizer fOrganizer;
-    private List fBreakpoints;
-    private Map fCategoriesToContainers;
-    private IBreakpointOrganizer[] fNesting;
-    
-    /**
-     * Constructs a container of breakpoints for the given category,
-     * created by the given organizer.
-     * 
-     * @param category breakpoint category
-     * @param organizer breakpoint organizer
-     * @param nesting nested organizers or <code>null</code> if none
-     */
-    public BreakpointContainer(IAdaptable category, IBreakpointOrganizer organizer, IBreakpointOrganizer[] nesting) {
-        fCategory = category;
-        fOrganizer = organizer;
-        fBreakpoints = new ArrayList();
-        fNesting = nesting;
-        fCategoriesToContainers = new HashMap();
-        // seed with all nested categories
-        if (nesting != null && nesting.length > 0) {
-            IAdaptable[] emptyCategories = nesting[0].getCategories();
-            if (emptyCategories != null) {
-                for (int i = 0; i < emptyCategories.length; i++) {
-                    IAdaptable empty = emptyCategories[i];
-                    BreakpointContainer container = (BreakpointContainer) fCategoriesToContainers.get(empty);
-                    if (container == null) {
-                        container = new BreakpointContainer(empty, nesting[0], null);
-                        fCategoriesToContainers.put(empty, container);
-                    }
-                }
-            }
-        }
-    }
-    
-    /**
-     * Adds a breakpoint to this container and its nested containers.
-     * 
-     * @param breakpoint breakpoint to add  
-     */
-    public void addBreakpoint(IBreakpoint breakpoint) {
-        fBreakpoints.add(breakpoint);
-        if (fNesting != null && fNesting.length > 0) {
-            IBreakpointOrganizer organizer = fNesting[0];
-            IAdaptable[] categories = organizer.getCategories(breakpoint);
-            if (categories== null || categories.length == 0) {
-            	categories = OtherBreakpointCategory.getCategories(organizer);
-            }
-            for (int i = 0; i < categories.length; i++) {
-                IAdaptable category = categories[i];
-                BreakpointContainer container = (BreakpointContainer) fCategoriesToContainers.get(category);
-                if (container == null) {
-                    IBreakpointOrganizer[] nesting = null;
-                    if (fNesting.length > 1) {
-                        nesting = new IBreakpointOrganizer[fNesting.length - 1];
-                        System.arraycopy(fNesting, 1, nesting, 0, nesting.length);
-                    }
-                    container = new BreakpointContainer(category, organizer, nesting);
-                    fCategoriesToContainers.put(category, container);
-                }
-                container.addBreakpoint(breakpoint);
-            }
-        }
-    }
-    
-    /**
-     * Returns the breakpoints in this container
-     * 
-     * @return the breakpoints in this container
-     */
-    public IBreakpoint[] getBreakpoints() {
-        return (IBreakpoint[]) fBreakpoints.toArray(new IBreakpoint[fBreakpoints.size()]);
-    }
-    
-    /**
-     * Returns this container's category.
-     * 
-     * @return container category
-     */
-    public IAdaptable getCategory() {
-        return fCategory;
-    }
-    
-    /**
-     * Returns children as breakpoints or nested containers.
-     * 
-     * @return children as breakpoints or nested containers
-     */
-    public Object[] getChildren() {
-        if (fCategoriesToContainers.isEmpty()) {
-            return getBreakpoints();
-        }
-        return getContainers(); 
-    }
-    
-    /**
-     * Returns the containers nested in this container, possibly empty.
-     * 
-     * @return the containers nested in this container, possibly empty
-     */
-    public BreakpointContainer[] getContainers() {
-        Collection collection = fCategoriesToContainers.values();
-        return (BreakpointContainer[]) collection.toArray(new BreakpointContainer[collection.size()]);
-    }
-    
-    /**
-     * Returns this container's organizer.
-     * 
-     * @return this container's organizer
-     */
-    public IBreakpointOrganizer getOrganizer() {
-        return fOrganizer;
-    }
-    
-    /* (non-Javadoc)
-     * @see java.lang.Object#equals(java.lang.Object)
-     */
-    public boolean equals(Object obj) {
-        if (obj instanceof BreakpointContainer) {
-            BreakpointContainer container = (BreakpointContainer) obj;
-            return getCategory().equals(container.getCategory());
-        }
-        return super.equals(obj);
-    }
-    
-    /* (non-Javadoc)
-     * @see java.lang.Object#hashCode()
-     */
-    public int hashCode() {
-        return getCategory().hashCode();
-    }
-    
-    /**
-     * Returns whether this container contains the given breakpoint.
-     * 
-     * @param breakpoint
-     * @return whether this container contains the given breakpoint
-     */
-    public boolean contains(IBreakpoint breakpoint) {
-        return fBreakpoints.contains(breakpoint);
-    }
-    
-    /**
-     * Returns the leaf containers the given breakpoint is contained in, or <code>null</code>
-     * if none.
-     *  
-     * @param breakpoint
-     * @return leaf containers the given breakpoint is contained in, or <code>null</code>
-     * if none
-     */
-    public BreakpointContainer[] getContainers(IBreakpoint breakpoint) {
-        if (contains(breakpoint)) {
-            BreakpointContainer[] containers = getContainers();
-            if (containers.length == 0) {
-                return new BreakpointContainer[]{this};
-            }
-            List list = new ArrayList();
-            for (int i = 0; i < containers.length; i++) {
-                BreakpointContainer container = containers[i];
-                BreakpointContainer[] subcontainers = container.getContainers(breakpoint);
-                if (subcontainers != null) {
-                    for (int j = 0; j < subcontainers.length; j++) {
-                        list.add(subcontainers[j]);
-                    }
-                }
-            }
-            return (BreakpointContainer[]) list.toArray(new BreakpointContainer[list.size()]);
-        }
-        return null;
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java
deleted file mode 100644
index 9026b3d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter2;
-
-/**
- * BreakpointContainerWorkbenchAdapter
- */
-public class BreakpointContainerWorkbenchAdapter implements IWorkbenchAdapter, IWorkbenchAdapter2{
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-     */
-    public Object[] getChildren(Object o) {
-        // not used
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-     */
-    public ImageDescriptor getImageDescriptor(Object object) {
-        if (object instanceof BreakpointContainer) {
-            BreakpointContainer container = (BreakpointContainer) object;
-            IAdaptable category = container.getCategory();
-            IWorkbenchAdapter adapter = (IWorkbenchAdapter) category.getAdapter(IWorkbenchAdapter.class);
-            if (adapter != null) {
-                return adapter.getImageDescriptor(category);
-            }
-            return container.getOrganizer().getImageDescriptor();
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-     */
-    public String getLabel(Object object) {
-        if (object instanceof BreakpointContainer) {
-            BreakpointContainer container = (BreakpointContainer) object;
-            IAdaptable category = container.getCategory();
-            IWorkbenchAdapter adapter = (IWorkbenchAdapter) category.getAdapter(IWorkbenchAdapter.class);
-            if (adapter != null) {
-                return adapter.getLabel(category);
-            }
-            return container.getOrganizer().getLabel();
-        }
-        return ""; //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-     */
-    public Object getParent(Object o) {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter2#getForeground(java.lang.Object)
-     */
-    public RGB getForeground(Object object) {
-        if (object instanceof BreakpointContainer) {
-            BreakpointContainer container = (BreakpointContainer) object;
-            IAdaptable category = container.getCategory();
-            IWorkbenchAdapter2 adapter = (IWorkbenchAdapter2) category.getAdapter(IWorkbenchAdapter2.class);
-            if (adapter != null) {
-                return adapter.getForeground(category);
-            }
-        }        
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter2#getBackground(java.lang.Object)
-     */
-    public RGB getBackground(Object object) {
-        if (object instanceof BreakpointContainer) {
-            BreakpointContainer container = (BreakpointContainer) object;
-            IAdaptable category = container.getCategory();
-            IWorkbenchAdapter2 adapter = (IWorkbenchAdapter2) category.getAdapter(IWorkbenchAdapter2.class);
-            if (adapter != null) {
-                return adapter.getBackground(category);
-            }
-        }        
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter2#getFont(java.lang.Object)
-     */
-    public FontData getFont(Object object) {
-        if (object instanceof BreakpointContainer) {
-            BreakpointContainer container = (BreakpointContainer) object;
-            IAdaptable category = container.getCategory();
-            IWorkbenchAdapter2 adapter = (IWorkbenchAdapter2) category.getAdapter(IWorkbenchAdapter2.class);
-            if (adapter != null) {
-                return adapter.getFont(category);
-            }
-        }        
-        return null;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java
deleted file mode 100644
index 221587f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-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.DebugPlugin;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Factory to restore breakpoints from mementos for breakpoint working sets.
- */
-public class BreakpointFactory implements IElementFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IElementFactory#createElement(org.eclipse.ui.IMemento)
-     */
-    public IAdaptable createElement(IMemento memento) {
-        String longString = memento.getString(BreakpointPersistableElementAdapter.TAG_MARKER_ID);
-        String factoryId = memento.getString(BreakpointPersistableElementAdapter.TAG_RESOURCE_FACTORY_ID);
-        if (factoryId != null && longString != null) {
-            IElementFactory elementFactory = PlatformUI.getWorkbench().getElementFactory(factoryId);
-            if (elementFactory != null) {
-                IAdaptable adaptable = elementFactory.createElement(memento);
-                if (adaptable instanceof IResource) {
-                    IResource resource = (IResource) adaptable;
-                    try {
-                        long id = Long.parseLong(longString);
-                        IMarker marker = resource.findMarker(id);
-                        if (marker != null) {
-                            return DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(marker);
-                        }
-                    } catch (NumberFormatException e) {
-                    } catch (CoreException e) {
-                    }
-                }
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java
deleted file mode 100644
index 0d04402..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-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.debug.ui.IBreakpointOrganizerDelegate;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-
-/**
- * A contributed breakpoint organizer.
- */
-public class BreakpointOrganizerExtension implements IBreakpointOrganizer {
-	
-	private IConfigurationElement fElement;
-	private IBreakpointOrganizerDelegate fDelegate;
-	private ImageDescriptor fDescriptor;
-	
-	// attributes
-	public static final String ATTR_LABEL = "label"; //$NON-NLS-1$
-	public static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-	public static final String ATTR_ID = "id"; //$NON-NLS-1$
-	public static final String ATTR_ICON = "icon"; //$NON-NLS-1$
-    public static final String ATTR_OTHERS_LABEL = "othersLabel"; //$NON-NLS-1$
-	
-	public BreakpointOrganizerExtension(IConfigurationElement element) {
-		fElement = element;
-	}
-	
-	/**
-	 * Returns the image descriptor for this organizer.
-	 * 
-	 * @return image descriptor
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		if (fDescriptor == null) {
-			fDescriptor = DebugUIPlugin.getImageDescriptor(fElement, ATTR_ICON);
-			if (fDescriptor == null) {
-				fDescriptor = ImageDescriptor.getMissingImageDescriptor();
-			}
-		}
-		return fDescriptor;		
-	}
-	
-	/**
-	 * Returns this organizer's label.
-	 * 
-	 * @return this organizer's label
-	 */
-	public String getLabel() {
-		return fElement.getAttribute(ATTR_LABEL);
-	}
-    
-    /**
-     * Returns this organizer's identifier.
-     * 
-     * @return this organizer's identifier
-     */
-    public String getIdentifier() {
-        return fElement.getAttribute(ATTR_ID);
-    }
-	
-	/**
-	 * Returns this organizer's delegate, instantiating it if required.
-	 * 
-	 * @return this organizer's delegate
-	 */
-	protected IBreakpointOrganizerDelegate getOrganizer() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (IBreakpointOrganizerDelegate) fElement.createExecutableExtension(ATTR_CLASS);
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return fDelegate;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint)
-     */
-    public IAdaptable[] getCategories(IBreakpoint breakpoint) {
-        return getOrganizer().getCategories(breakpoint);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-     */
-    public void addPropertyChangeListener(IPropertyChangeListener listener) {
-        getOrganizer().addPropertyChangeListener(listener);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-     */
-    public void removePropertyChangeListener(IPropertyChangeListener listener) {
-        getOrganizer().removePropertyChangeListener(listener);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addBreakpoint(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
-     */
-    public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category) {
-        getOrganizer().addBreakpoint(breakpoint, category);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removeBreakpoint(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
-     */
-    public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category) {
-        getOrganizer().removeBreakpoint(breakpoint, category);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canAdd(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
-     */
-    public boolean canAdd(IBreakpoint breakpoint, IAdaptable category) {
-        return getOrganizer().canAdd(breakpoint, category);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canRemove(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
-     */
-    public boolean canRemove(IBreakpoint breakpoint, IAdaptable category) {
-        return getOrganizer().canRemove(breakpoint, category);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose()
-     */
-    public void dispose() {
-    	// don't instantiate the delegate if it has not been used
-    	if (fDelegate != null) {
-    		fDelegate.dispose();
-    	}
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.views.breakpoints.IBreakpointOrganizer#getOthersLabel()
-     */
-    public String getOthersLabel() {
-        String attribute = fElement.getAttribute(ATTR_OTHERS_LABEL);
-        if (attribute == null) {
-            return DebugUIViewsMessages.OtherBreakpointOrganizer_0; 
-        }
-        return attribute;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories()
-     */
-    public IAdaptable[] getCategories() {
-        return getOrganizer().getCategories();
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java
deleted file mode 100644
index 617ff70..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * Manager which provides access to the breakpoint organizers
- * contributed via the org.eclipse.debug.ui.breakpointOrganizers
- * extension point.
- * <p>
- * Manages the default breakpoint working set and places newly
- * create breakpoints in to that set.
- * </p>
- * @since 3.1
- */
-public class BreakpointOrganizerManager {
-	
-	private static BreakpointOrganizerManager fgManager;
-	
-	// map for lookup by id
-    private Map fOrganizers = new HashMap();
-    // cached sorted list by label
-    private List fSorted = null;
-
-	/**
-	 * Returns the singleton instance of the breakpoint container
-	 * factory manager.
-	 */
-	public static BreakpointOrganizerManager getDefault() {
-		if (fgManager == null) {
-			fgManager= new BreakpointOrganizerManager();
-		}
-		return fgManager;
-	}
-	
-	/**
-	 * Creates and initializes a new breakpoint container factory.
-	 */
-	private BreakpointOrganizerManager() {
-        loadOrganizers();
-        // force the working set organizers to initialize their listeners
-        start("org.eclipse.debug.ui.workingSetOrganizer"); //$NON-NLS-1$
-        start("org.eclipse.debug.ui.breakpointWorkingSetOrganizer"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Forces instantiation of orgranizer delegate.
-	 * 
-	 * @param organizerId organizer to start
-	 */
-	private void start(String organizerId) {
-        IBreakpointOrganizer organizer = getOrganizer(organizerId);
-        IPropertyChangeListener listener = new IPropertyChangeListener() {
-            public void propertyChange(PropertyChangeEvent event) {
-            }
-        };
-        organizer.addPropertyChangeListener(listener);
-        organizer.removePropertyChangeListener(listener);		
-	}
-    
-    /**
-     * Loads all contributed breakpoint organizers.
-     */
-    private void loadOrganizers() {
-        IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_BREAKPOINT_ORGANIZERS);
-        IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-        for (int i = 0; i < configurationElements.length; i++) {
-            IConfigurationElement element= configurationElements[i];
-            IBreakpointOrganizer organizer = new BreakpointOrganizerExtension(element);
-            if (validateOrganizer(organizer)) {
-                fOrganizers.put(organizer.getIdentifier(), organizer);
-            }
-        }
-    }    
-	
-    /**
-     * Validates the given organizer. Checks that certain required attributes
-     * are available.
-     * @param extension the organizer to validate
-     * @return whether the given organizer is valid
-     */
-    protected static boolean validateOrganizer(IBreakpointOrganizer organizer) {
-        String id = organizer.getIdentifier();
-        String label = organizer.getLabel();
-        return id != null && id.length() > 0 && label != null && label.length() > 0;
-    }    
-	
-    /**
-     * Returns all contributed breakpoint organizers.
-     * 
-     * @return all contributed breakpoint organizers
-     */
-    public IBreakpointOrganizer[] getOrganizers() {
-    	if (fSorted == null) {
-	        Collection collection = fOrganizers.values();
-	        fSorted = new ArrayList();
-	        fSorted.addAll(collection);
-	        Collections.sort(fSorted, new Comparator() {
-				public int compare(Object o1, Object o2) {
-					IBreakpointOrganizer b1 = (IBreakpointOrganizer)o1;
-					IBreakpointOrganizer b2 = (IBreakpointOrganizer)o2;
-					return b1.getLabel().compareTo(b2.getLabel());
-				}
-
-				public boolean equals(Object obj) {
-					return this == obj;
-				}
-			});
-    	}
-    	return (IBreakpointOrganizer[]) fSorted.toArray(new IBreakpointOrganizer[fSorted.size()]);
-    }
-    
-    /**
-     * Returns the specified breakpoint organizer or <code>null</code>
-     * @param id organizer identifier
-     * @return breakpoint organizer or <code>null</code>
-     */
-    public IBreakpointOrganizer getOrganizer(String id) {
-        return (IBreakpointOrganizer) fOrganizers.get(id);
-    }
-    
-    /**
-     * Shuts down the organizer manager, disposing organizers.
-     */
-    public void shutdown() {
-        IBreakpointOrganizer[] organizers = getOrganizers();
-        for (int i = 0; i < organizers.length; i++) {
-            IBreakpointOrganizer organizer = organizers[i];
-            organizer.dispose();
-        }
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java
deleted file mode 100644
index d0c8361..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * Adapter to save and restore breakpoints for a working set.
- */
-public class BreakpointPersistableElementAdapter implements IPersistableElement {
-    
-    private IBreakpoint fBreakpoint;
-    
-    public static final String TAG_MARKER_ID = "TAG_MARKER_ID"; //$NON-NLS-1$
-    public static final String TAG_RESOURCE_FACTORY_ID = "TAG_RESOURCE_FACTORY_ID"; //$NON-NLS-1$
-    
-    /**
-     * Constructs a new persitable element adapter for the given breakpoint.
-     * 
-     * @param breakpoint
-     */
-    public BreakpointPersistableElementAdapter(IBreakpoint breakpoint) {
-        fBreakpoint = breakpoint;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPersistableElement#getFactoryId()
-     */
-    public String getFactoryId() {
-        return "org.eclipse.debug.ui.elementFactory.breakpoints"; //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPersistableElement#saveState(org.eclipse.ui.IMemento)
-     */
-    public void saveState(IMemento memento) {
-        IMarker marker = fBreakpoint.getMarker();
-        if (marker != null) {
-            IResource resource = marker.getResource();
-            IPersistableElement pe = (IPersistableElement) resource.getAdapter(IPersistableElement.class);
-            if (pe != null) {
-                long id = marker.getId();
-                String longString = Long.toString(id);
-                memento.putString(TAG_MARKER_ID, longString);
-                memento.putString(TAG_RESOURCE_FACTORY_ID, pe.getFactoryId());
-                pe.saveState(memento);
-            }            
-        }
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java
deleted file mode 100644
index 1d4b0ce..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-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.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.importexport.breakpoints.IImportExportConstants;
-import org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Breakpoint organizers for breakpoint working sets.
- * 
- * @since 3.1
- */
-public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate implements IPropertyChangeListener, IBreakpointsListener {
-
-	private IWorkingSetManager fWorkingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
-	
-	/**
-	 * A cache for mapping markers to the working set they belong to
-	 * @since 3.2
-	 */
-	private BreakpointWorkingSetCache fCache = null;
-	
-	
-	/**
-	 * Constructs a working set breakpoint organizer. Listens for changes in
-	 * working sets and fires property change notification.
-	 */
-	public BreakpointSetOrganizer() {
-		fWorkingSetManager.addPropertyChangeListener(this);
-		fCache = new BreakpointWorkingSetCache();
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint)
-	 */
-	public IAdaptable[] getCategories(IBreakpoint breakpoint) {
-		List result = new ArrayList();
-		IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
-		for (int i = 0; i < workingSets.length; i++) {
-			IWorkingSet set = workingSets[i];
-			if (IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(set.getId())) {
-				IAdaptable[] elements = set.getElements();
-				for (int j = 0; j < elements.length; j++) {
-					IAdaptable adaptable = elements[j];
-					if (adaptable.equals(breakpoint)) {
-						result.add(new WorkingSetCategory(set));
-						break;
-					}
-				}
-			}
-		}
-		return (IAdaptable[]) result.toArray(new IAdaptable[result.size()]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose()
-	 */
-	public void dispose() {
-		fWorkingSetManager.removePropertyChangeListener(this);
-		fWorkingSetManager = null;
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		super.dispose();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		IWorkingSet set = null;
-		if (event.getNewValue() instanceof IWorkingSet) {
-			set = (IWorkingSet) event.getNewValue();
-		}//end if 
-		else if (event.getOldValue() instanceof IWorkingSet) {
-			set = (IWorkingSet) event.getOldValue();
-		}//end else if
-		//fix for bug 103731
-		if(event.getProperty().equals(IWorkingSetManager.CHANGE_WORKING_SET_ADD)) {
-			IAdaptable[] breakpoints = set.getElements();
-			for (int i = 0; i < breakpoints.length; i++) {
-				if (breakpoints[i] instanceof IBreakpoint) {
-					IMarker marker = ((IBreakpoint)breakpoints[i]).getMarker();
-					fCache.addEntry(marker, set.getName());
-					fCache.flushMarkerCache(marker);
-				}// end if
-			}//end for
-		}//end if
-		if (set != null	&& IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(set.getId())) {
-			fireCategoryChanged(new WorkingSetCategory(set));
-		}
-		if (event.getProperty().equals(IInternalDebugUIConstants.MEMENTO_BREAKPOINT_WORKING_SET_NAME)) {
-			IWorkingSet defaultWorkingSet = getDefaultWorkingSet();
-			if (defaultWorkingSet != null) {
-				fireCategoryChanged(new WorkingSetCategory(defaultWorkingSet));
-			} else {
-				fireCategoryChanged(null);
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[])
-	 */
-	public void breakpointsAdded(IBreakpoint[] breakpoints) {
-		IWorkingSet set = null;
-		for (int i = 0; i < breakpoints.length; i++) {
-			IMarker marker = breakpoints[i].getMarker();
-			String[] names = getWorkingsetAttributeFromMarker(marker, IInternalDebugUIConstants.WORKING_SET_NAME);
-			//add it to the default set if the listing is empty
-			if (names.length == 0) {
-				addBreakpointToSet(breakpoints[i], getDefaultWorkingSet());
-			} else {
-				for (int j = 1; j < names.length; j++) {
-					set = PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(names[j]);
-					// if we cannot find the one we want, try to get the default
-					if (set == null) {
-						set = getDefaultWorkingSet();
-					}// end if
-					addBreakpointToSet(breakpoints[i], set);
-				}// end for
-			}
-		}// end for
-	}
-
-	/**
-	 * Adds a breakpoint to a workingset
-	 * @param breakpoint the breakpoint to add
-	 * @param set the set to add it to or <code>null</code> if none
-	 * 
-	 * @since 3.2
-	 */
-	private void addBreakpointToSet(IBreakpoint breakpoint, IWorkingSet set) {
-		if (set != null) {
-			IAdaptable[] elements = set.getElements();
-			for(int i = 0; i < elements.length; i++) {
-				if(elements[i].equals(breakpoint)) {
-					return;
-				}//end if
-			}//end for
-			fCache.addEntry(breakpoint.getMarker(), set.getName());			//fix for bug 103731
-			fCache.flushMarkerCache(breakpoint.getMarker());
-			IAdaptable[] newElements = new IAdaptable[elements.length + 1];
-			newElements[newElements.length-1] = breakpoint;
-			System.arraycopy(elements, 0, newElements, 0, elements.length);
-			set.setElements(newElements);
-		}
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsRemoved(org.eclipse.debug.core.model.IBreakpoint[],
-	 *      org.eclipse.core.resources.IMarkerDelta[])
-	 */
-	public void breakpointsRemoved(IBreakpoint[] breakpoints,
-			IMarkerDelta[] deltas) {
-		IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
-		IWorkingSet set = null;
-		for (int i = 0; i < workingSets.length; i++) {
-			set = workingSets[i];
-			if (IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(set.getId())) {
-				clean(set);
-			}// end if
-		}// end for
-	}//end breakpointsRemoved
-
-	/**
-	 * Removes deleted breakpoints from the given working set.
-	 * 
-	 * @param workingSet
-	 *            breakpoint working set
-	 */
-	private void clean(IWorkingSet workingSet) {
-		IAdaptable[] elements = workingSet.getElements();
-		IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-		boolean update = false;
-		for (int i = 0; i < elements.length; i++) {
-			IAdaptable adaptable = elements[i];
-			if (adaptable instanceof IBreakpoint) {
-				IBreakpoint breakpoint = (IBreakpoint) adaptable;
-				if (!manager.isRegistered(breakpoint)) {
-					update = true;
-					elements[i] = null;
-				}
-			}
-		}
-		if (update) {
-			List newElements = new ArrayList(elements.length);
-			for (int i = 0; i < elements.length; i++) {
-				IAdaptable adaptable = elements[i];
-				if (adaptable != null) {
-					newElements.add(adaptable);
-				}
-			}
-			workingSet.setElements((IAdaptable[]) newElements.toArray(new IAdaptable[newElements.size()]));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsChanged(org.eclipse.debug.core.model.IBreakpoint[],
-	 *      org.eclipse.core.resources.IMarkerDelta[])
-	 */
-	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-	}
-
-	/**
-	 * Returns the active default breakpoint working set, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the active default breakpoint working set, or <code>null</code>
-	 */
-	public static IWorkingSet getDefaultWorkingSet() {
-		IPreferenceStore preferenceStore = DebugUIPlugin.getDefault().getPreferenceStore();
-		String name = preferenceStore.getString(IInternalDebugUIConstants.MEMENTO_BREAKPOINT_WORKING_SET_NAME);
-		if (name != null) {
-			return PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(name);
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the active default breakpoint working set, or <code>null</code> if
-	 * none.
-	 * 
-	 * @param set
-	 *            default working set or <code>null</code>
-	 */
-	public static void setDefaultWorkingSet(IWorkingSet set) {
-		String name = ""; //$NON-NLS-1$
-		if (set != null) {
-			// only consider breakpoint working sets
-			if (IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(set.getId())) {
-				name = set.getName();
-			}
-		}
-		DebugUIPlugin.getDefault().getPluginPreferences().setValue(IInternalDebugUIConstants.MEMENTO_BREAKPOINT_WORKING_SET_NAME, name);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canRemove(org.eclipse.debug.core.model.IBreakpoint,
-	 *      org.eclipse.core.runtime.IAdaptable)
-	 */
-	public boolean canRemove(IBreakpoint breakpoint, IAdaptable category) {
-		if (category instanceof WorkingSetCategory) {
-			WorkingSetCategory wsc = (WorkingSetCategory) category;
-			return IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(wsc.getWorkingSet().getId());
-		}
-		return super.canRemove(breakpoint, category);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canAdd(org.eclipse.debug.core.model.IBreakpoint,
-	 *      org.eclipse.core.runtime.IAdaptable)
-	 */
-	public boolean canAdd(IBreakpoint breakpoint, IAdaptable category) {
-		if (category instanceof WorkingSetCategory) {
-			WorkingSetCategory wsc = (WorkingSetCategory) category;
-			return IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(wsc.getWorkingSet().getId());
-		}
-		return super.canAdd(breakpoint, category);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addBreakpoint(org.eclipse.debug.core.model.IBreakpoint,
-	 *      org.eclipse.core.runtime.IAdaptable)
-	 */
-	public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category) {
-		if (category instanceof WorkingSetCategory) {
-			IWorkingSet set = ((WorkingSetCategory) category).getWorkingSet();
-			addBreakpointToSet(breakpoint, set);
-		}//end if
-	}
-	
-	/**
-	 * Gets the workingset names from the marker
-	 * 
-	 * @param marker
-	 *            them arker to get the names from
-	 * @return the listing of markers or an empty String array, never null
-	 * 
-	 * @since 3.2
-	 */
-	private String[] getWorkingsetAttributeFromMarker(IMarker marker, String type) {
-		try {
-			String name = (String) marker.getAttribute(type);
-			if (name != null) {
-				return name.split("\\" + IImportExportConstants.DELIMITER); //$NON-NLS-1$
-			}// end if
-		}// end try
-		catch (CoreException e) {DebugPlugin.log(e);}
-		return new String[] {};
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removeBreakpoint(org.eclipse.debug.core.model.IBreakpoint,
-	 *      org.eclipse.core.runtime.IAdaptable)
-	 */
-	public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category) {
-		if (category instanceof WorkingSetCategory) {
-			IWorkingSet set = ((WorkingSetCategory) category).getWorkingSet();
-			IAdaptable[] elements = set.getElements();
-			List list = new ArrayList();
-			for (int i = 0; i < elements.length; i++) {
-				IAdaptable adaptable = elements[i];
-				if (!adaptable.equals(breakpoint)) {
-					list.add(adaptable);
-				}//end if
-			}//end for
-			fCache.removeMappedEntry(breakpoint.getMarker(), set.getName());
-			fCache.flushMarkerCache(breakpoint.getMarker());
-			set.setElements((IAdaptable[]) list.toArray(new IAdaptable[list.size()]));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories()
-	 */
-	public IAdaptable[] getCategories() {
-		IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
-		List all = new ArrayList();
-		for (int i = 0; i < workingSets.length; i++) {
-			IWorkingSet set = workingSets[i];
-			if (IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(set
-					.getId())) {
-				all.add(new WorkingSetCategory(set));
-			}
-		}
-		return (IAdaptable[]) all.toArray(new IAdaptable[all.size()]);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java
deleted file mode 100644
index 6130725..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate;
-import org.eclipse.debug.ui.BreakpointTypeCategory;
-import org.eclipse.debug.ui.IBreakpointTypeCategory;
-
-/**
- * Breakpoint organizers for breakpoint types.
- * 
- * @since 3.1
- */
-public class BreakpointTypeOrganizer extends AbstractBreakpointOrganizerDelegate {
-	
-	private Map fTypes = new HashMap();
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint)
-     */
-    public IAdaptable[] getCategories(IBreakpoint breakpoint) {
-        IBreakpointTypeCategory category = (IBreakpointTypeCategory) breakpoint.getAdapter(IBreakpointTypeCategory.class);
-        if (category != null) {
-            return new IAdaptable[]{category};
-        }
-    	String name = DebugPlugin.getDefault().getBreakpointManager().getTypeName(breakpoint);
-    	if (name != null) {
-    		IAdaptable[] categories = (IAdaptable[]) fTypes.get(name);
-    		if (categories == null) {
-    			categories = new IAdaptable[]{new BreakpointTypeCategory(name)};
-    			fTypes.put(name, categories);
-    		}
-    		return categories;
-    	}
-    	return null;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose()
-     */
-    public void dispose() {
-    	fTypes.clear();
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java
deleted file mode 100644
index d1f62c7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.HashMap;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.importexport.breakpoints.IImportExportConstants;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Class to cache the breakpoint to workingset information in its underlying
- * marker as breakpoints are moved between breakpoint working sets.
- * It resolves the need for constant attribute lookup and parsing to 
- * fix bug 103731
- * 
- * @since 3.2
- */
-public class BreakpointWorkingSetCache {
-
-	/**
-	 * the entire cache
-	 * key: marker
-	 * value: vector of workingsets the marker belongs to
-	 */
-	HashMap fCache = null;
-	
-	/**
-	 * Default constructor
-	 * @param organizer the oprganizer that owns this cache
-	 */
-	public BreakpointWorkingSetCache() {
-		fCache = new HashMap(15);
-	}//end constructor
-	
-	/**
-	 * Adds an entry into the cache
-	 * @param marker the marker to add the workingset information about
-	 * @param entry the entry to add to the cache
-	 */
-	public void addEntry(IMarker marker, Object entry) {
-		Vector list = (Vector)fCache.get(marker);
-		if (list == null) {
-			list = new Vector();
-			list.addElement(entry);
-			fCache.put(marker, list);
-		}//end if
-		else {
-			if(!list.contains(entry)) {
-				list.addElement(entry);
-			}//end if
-		}//end else
-	}//end addEntry
-	
-	/**
-	 * Removes an item from the list contained under the marker key, not the marker entry
-	 * @param marker the marker key to remove the item from
-	 * @param entry the entry to remove
-	 */
-	public void removeMappedEntry(IMarker marker, Object entry) {
-		Vector list = (Vector)fCache.get(marker);
-		if(list != null) {
-			list.remove(entry);
-		}//end if
-	}//end removeMappedEntry
-	
-	/**
-	 * Flushes the cache of only the sepcified marker
-	 * @param marker the marker whose cache is to be flushed
-	 */
-	public void flushMarkerCache(IMarker marker) {
-		IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-		Vector list = (Vector)fCache.get(marker);
-		if(list != null) {
-			String names = IImportExportConstants.DELIMITER;
-			String ids = IImportExportConstants.DELIMITER;
-			for(int i = 0; i < list.size(); i++) {
-				String name = (String)list.elementAt(i);
-				IWorkingSet ws = manager.getWorkingSet(name);
-				if(ws != null) {
-					names += name+IImportExportConstants.DELIMITER;
-					ids += ws.getId()+IImportExportConstants.DELIMITER;
-				}//end if
-			}//end for
-			try {
-				marker.setAttribute(IInternalDebugUIConstants.WORKING_SET_NAME, names);
-				marker.setAttribute(IInternalDebugUIConstants.WORKING_SET_ID, ids);
-			}//end try
-			catch(CoreException e) {DebugPlugin.log(e);}
-		}//end if
-	}
-	
-}//end class
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java
deleted file mode 100644
index 30409e5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.importexport.breakpoints.EmbeddedBreakpointsViewer;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardPage;
-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.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.Text;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-
-/**
- * The Breakpoint working set page allows the user to create
- * and edit a Breakpoint working set.
- * 
- * @since 3.1
- */
-public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetPage {
-
-	final private static String PAGE_TITLE= DebugUIViewsMessages.BreakpointWorkingSetPage_0; 
-	final private static String PAGE_ID= "breakpointWorkingSetPage"; //$NON-NLS-1$
-	
-	private Text fWorkingSetName;
-	private EmbeddedBreakpointsViewer fTViewer;
-	private boolean fFirstCheck;
-	private IWorkingSet fWorkingSet;
-
-	/**
-	 * Default constructor.
-	 */
-	public BreakpointWorkingSetPage() {
-		super(PAGE_ID, PAGE_TITLE, DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_WIZBAN_DEBUG));
-		setDescription(DebugUIViewsMessages.BreakpointWorkingSetPage_1); 
-		fFirstCheck= true;
-	}
-
-	/*
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		initializeDialogUnits(parent);
-		Composite composite= new Composite(parent, SWT.NONE);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		setControl(composite);
-		Label label= new Label(composite, SWT.WRAP);
-		label.setText(DebugUIViewsMessages.BreakpointWorkingSetPage_2); 
-		GridData gd= new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-		label.setLayoutData(gd);
-		fWorkingSetName= new Text(composite, SWT.SINGLE | SWT.BORDER);
-		fWorkingSetName.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
-		fWorkingSetName.addModifyListener(
-			new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					validateInput();
-				}
-			}
-		);
-		fWorkingSetName.setFocus();
-		label= new Label(composite, SWT.WRAP);
-		label.setText(DebugUIViewsMessages.BreakpointWorkingSetPage_3); 
-		gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-		label.setLayoutData(gd);
-		IViewPart viewpart = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage().findView(IDebugUIConstants.ID_BREAKPOINT_VIEW);
-		IStructuredSelection selection; 
-		if (viewpart == null) {
-			selection = new StructuredSelection();
-		} else {
-			selection = (IStructuredSelection)viewpart.getViewSite().getSelectionProvider().getSelection();
-		}
-		fTViewer = new EmbeddedBreakpointsViewer(composite, DebugPlugin.getDefault().getBreakpointManager(), selection);
-		// Add select / deselect all buttons for bug 46669
-		Composite buttonComposite = new Composite(composite, SWT.NONE);
-		buttonComposite.setLayout(new GridLayout(2, false));
-		buttonComposite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		Button selectAllButton = SWTUtil.createPushButton(buttonComposite, DebugUIViewsMessages.BreakpointWorkingSetPage_selectAll_label, null);
-		selectAllButton.setToolTipText(DebugUIViewsMessages.BreakpointWorkingSetPage_selectAll_toolTip);
-		selectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent selectionEvent) {
-				BreakpointsViewer viewer = fTViewer.getViewer();
-				viewer.getTree().selectAll();
-				viewer.setCheckedElements(((IStructuredSelection)viewer.getSelection()).toArray());
-				viewer.setGrayedElements(new Object[] {});
-				viewer.getTree().deselectAll();
-				validateInput();
-			}
-		});
-		Button deselectAllButton = SWTUtil.createPushButton(buttonComposite, DebugUIViewsMessages.BreakpointWorkingSetPage_deselectAll_label, null);
-		deselectAllButton.setToolTipText(DebugUIViewsMessages.BreakpointWorkingSetPage_deselectAll_toolTip);
-		deselectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent selectionEvent) {
-				BreakpointsViewer viewer = fTViewer.getViewer();
-				viewer.setCheckedElements(new Object[] {});
-				validateInput();
-			}
-		});
-		if (fWorkingSet != null)
-			fWorkingSetName.setText(fWorkingSet.getName());
-		validateInput();
-		Dialog.applyDialogFont(composite);
-	}
-
-	/*
-	 * Implements method from IWorkingSetPage
-	 */
-	public IWorkingSet getSelection() {
-		return fWorkingSet;
-	}
-
-	/*
-	 * Implements method from IWorkingSetPage
-	 */
-	public void setSelection(IWorkingSet workingSet) {
-		Assert.isNotNull(workingSet, "Working set must not be null"); //$NON-NLS-1$
-		fWorkingSet= workingSet;
-		if (getContainer() != null && getShell() != null && fWorkingSetName != null) {
-			fFirstCheck= false;
-			fWorkingSetName.setText(fWorkingSet.getName());
-			validateInput();
-		}
-	}
-
-	/*
-	 * Implements method from IWorkingSetPage
-	 */
-	public void finish() {
-		String workingSetName = fWorkingSetName.getText();
-		Object[] adaptable = fTViewer.getCheckedElements().toArray();
-		ArrayList elements = new ArrayList();
-		//weed out non-breakpoint elements since 3.2
-		for(int i = 0; i < adaptable.length; i++) {
-			if(adaptable[i] instanceof IBreakpoint) {
-				elements.add(adaptable[i]);
-			}//end if
-		}//end for
-		if (fWorkingSet == null) {
-			IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager();
-			fWorkingSet = workingSetManager.createWorkingSet(workingSetName, (IAdaptable[])elements.toArray(new IAdaptable[elements.size()]));
-		} else {
-			fWorkingSet.setName(workingSetName);
-			fWorkingSet.setElements((IAdaptable[])elements.toArray(new IAdaptable[elements.size()]));
-		}
-	}
-
-	/**
-	 * validates the current input of the page to determine if the finish button can be enabled
-	 */
-	private void validateInput() {
-		String errorMessage= null; 
-		String newText= fWorkingSetName.getText();
-
-		if (newText.equals(newText.trim()) == false)
-			errorMessage = DebugUIViewsMessages.BreakpointWorkingSetPage_4; 
-		if (newText.equals("")) { //$NON-NLS-1$
-			if (fFirstCheck) {
-				setPageComplete(false);
-				fFirstCheck= false;
-				return;
-			}		
-			errorMessage= DebugUIViewsMessages.BreakpointWorkingSetPage_5; 
-		}
-		fFirstCheck= false;
-		if (errorMessage == null && (fWorkingSet == null || newText.equals(fWorkingSet.getName()) == false)) {
-			IWorkingSet[] workingSets= PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSets();
-			for (int i= 0; i < workingSets.length; i++) {
-				if (newText.equals(workingSets[i].getName())) {
-					errorMessage= DebugUIViewsMessages.BreakpointWorkingSetPage_6; 
-				}
-			}
-		}
-		setErrorMessage(errorMessage);
-		setPageComplete(errorMessage == null);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java
deleted file mode 100644
index 827add9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.IBreakpointOrganizerDelegate;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider for the breakpoints view
- */
-public class BreakpointsContentProvider implements ITreeContentProvider, IPropertyChangeListener {
-    
-    private IBreakpointOrganizer[] fOrganizers = null;
-    private BreakpointsViewer fViewer;
-    private Object[] fElements;
-    private boolean fDisposed = false;
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-     */
-    public Object[] getChildren(Object parentElement) {
-        if (parentElement.equals(DebugPlugin.getDefault().getBreakpointManager())) {
-        	return fElements;
-        } else if (parentElement instanceof BreakpointContainer) {
-        	return ((BreakpointContainer)parentElement).getChildren();
-        }
-        return new Object[0];
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-     */
-    public Object getParent(Object element) {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-     */
-    public boolean hasChildren(Object element) {
-    	return getChildren(element).length > 0;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-     */
-    public Object[] getElements(Object inputElement) {
-        return getChildren(inputElement);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-     */
-    public void dispose() {
-        fDisposed = true;
-        fElements = null;
-        setOrganizers(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) {
-    	fViewer = (BreakpointsViewer)viewer;
-        if (newInput != null) {
-            reorganize();
-        }
-    }
-    
-    /**
-     * Sets the nested order of breakpoint organizers, or <code>null</code>
-     * if none.
-     * 
-     * @param organizers the nested order of breakpoint organizers, or <code>null</code>
-     * if none 
-     */
-    public void setOrganizers(IBreakpointOrganizer[] organizers) {
-        if (organizers != null && organizers.length == 0) {
-            organizers = null;
-        }
-    	// remove previous listeners
-    	if (fOrganizers != null) {
-    		for (int i = 0; i < fOrganizers.length; i++) {
-				fOrganizers[i].removePropertyChangeListener(this);
-			}
-    	}
-        fOrganizers = organizers;
-        // add listeners
-        if (fOrganizers != null) {
-        	for (int i = 0; i < fOrganizers.length; i++) {
-				fOrganizers[i].addPropertyChangeListener(this);
-			}
-        }
-        if (!fDisposed) {
-            fViewer.getControl().setRedraw(false);
-            // maintain expandsion based on visible breakpoints
-            IBreakpoint[] breakpoints = null;
-            if (isShowingGroups()) {
-                breakpoints = fViewer.getVisibleBreakpoints();
-            }
-            reorganize();
-            if (isShowingGroups()) {
-                // restore expansion
-                for (int i = 0; i < fElements.length; i++) {
-                    BreakpointContainer container = (BreakpointContainer) fElements[i];
-                    for (int j = 0; j < breakpoints.length; j++) {
-                        if (container.contains(breakpoints[j])) {
-                            fViewer.expandToLevel(container, AbstractTreeViewer.ALL_LEVELS);
-                            fViewer.updateCheckedState(container);
-                            break;
-                        }
-                    }
-                    
-                }
-            }
-            fViewer.getControl().setRedraw(true);
-        }
-    }
-    
-    /**
-     * Returns the root containers containing the given breakpoint, or <code>null</code>
-     * if none
-     * 
-     * @param breakpoint
-     * @return root containers containing the given breakpoint or <code>null</code>
-     */
-    public BreakpointContainer[] getRoots(IBreakpoint breakpoint) {
-        if (isShowingGroups()) {
-            List list = new ArrayList();
-            for (int i = 0; i < fElements.length; i++) {
-                BreakpointContainer container = (BreakpointContainer) fElements[i];
-                if (container.contains(breakpoint)) {
-                    list.add(container);
-                }
-            }
-            return (BreakpointContainer[]) list.toArray(new BreakpointContainer[list.size()]);
-        }
-        return null;
-    }
-    
-    /**
-     * Returns the nested order of breakpoint organizers being used, or <code>null</code>
-     * if none.
-     * 
-     * @return the nested order of breakpoint organizers being used, or <code>null</code>
-     * if none
-     */
-    IBreakpointOrganizer[] getOrganizers() {
-        return fOrganizers;
-    }
-    
-    /**
-     * Organizes the breakpoints based on nested categories, if any.
-     */
-    protected void reorganize() {
-        IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints();
-        if (fOrganizers == null) {
-            fElements = breakpoints;
-        } else {
-            IBreakpointOrganizer organizer = fOrganizers[0];
-            Map categoriesToContainers = new HashMap();
-            for (int i = 0; i < breakpoints.length; i++) {
-                IBreakpoint breakpoint = breakpoints[i];
-                IAdaptable[] categories = organizer.getCategories(breakpoint);
-                if (categories == null || categories.length == 0) {
-                	categories = OtherBreakpointCategory.getCategories(organizer);
-                }
-                for (int j = 0; j < categories.length; j++) {
-                    IAdaptable category = categories[j];
-                    BreakpointContainer container = (BreakpointContainer) categoriesToContainers.get(category);
-                    if (container == null) {
-                        IBreakpointOrganizer[] nesting = null;
-                        if (fOrganizers.length > 1) {
-                            nesting = new IBreakpointOrganizer[fOrganizers.length - 1];
-                            System.arraycopy(fOrganizers, 1, nesting, 0, nesting.length);
-                        }
-                        container = new BreakpointContainer(category, organizer, nesting);
-                        categoriesToContainers.put(category, container);
-                    }
-                    container.addBreakpoint(breakpoint);
-                }
-            }
-            // add empty categories
-            IAdaptable[] emptyCategories = organizer.getCategories();
-            if (emptyCategories != null) {
-                for (int i = 0; i < emptyCategories.length; i++) {
-                    IAdaptable category = emptyCategories[i];
-                    BreakpointContainer container = (BreakpointContainer) categoriesToContainers.get(category);
-                    if (container == null) {
-                        container = new BreakpointContainer(category, organizer, null);
-                        categoriesToContainers.put(category, container);
-                    }
-                }
-            }
-            fElements = categoriesToContainers.values().toArray();
-        }
-        fViewer.getControl().setRedraw(false);
-        fViewer.refresh();
-        fViewer.getControl().setRedraw(true);
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IBreakpointOrganizerDelegate.P_CATEGORY_CHANGED)) {
-			// TODO: only re-organize if showing the changed category
-			reorganize();
-		}
-	}
-    
-    /**
-     * Returns the existing containers the given breakpoint is contained in, or <code>null</code>.
-     * 
-     * @param breakpoint
-     * @return the existing containers the given breakpoint is contained in, or <code>null</code>
-     */
-    protected BreakpointContainer[] getContainers(IBreakpoint breakpoint) {
-        if (isShowingGroups()) {
-            IAdaptable[] categories = fOrganizers[0].getCategories(breakpoint);
-            if (categories == null || categories.length == 0) {
-                categories = OtherBreakpointCategory.getCategories(fOrganizers[0]);
-            }
-            BreakpointContainer[] containers = new BreakpointContainer[categories.length];
-            int index = 0;
-            for (int i = 0; i < fElements.length; i++) {
-                BreakpointContainer container = (BreakpointContainer)fElements[i];
-                for (int j = 0; j < categories.length; j++) {
-                    IAdaptable category = categories[j];
-                    if (container.getCategory().equals(category)) {
-                        containers[index] = container;
-                        index++;
-                    }
-                }
-            }
-            return containers;
-        }
-        return null;
-    }
-
-    /**
-     * Returns whether content is grouped by categories.
-     * 
-     * @return whether content is grouped by categories
-     */
-    protected boolean isShowingGroups() {
-        return fOrganizers != null;
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java
deleted file mode 100644
index ee8378f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.TransferDragSourceListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
-
-public class BreakpointsDragAdapter extends DragSourceAdapter implements TransferDragSourceListener {
-    
-    private ISelectionProvider fProvider;
-    private BreakpointsView fView;
-    private BreakpointContainer[] fContainers;
-    
-    public BreakpointsDragAdapter(BreakpointsView view, ISelectionProvider provider) {
-        Assert.isNotNull(provider);
-        fProvider= provider;
-        fView = view;
-    }
-
-    /**
-     * @see TransferDragSourceListener#getTransfer
-     */
-    public Transfer getTransfer() {
-        return LocalSelectionTransfer.getInstance();
-    }
-    
-    /* non Java-doc
-     * @see org.eclipse.swt.dnd.DragSourceListener#dragStart
-     */
-    public void dragStart(DragSourceEvent event) {
-        ISelection selection= fProvider.getSelection();
-        LocalSelectionTransfer.getInstance().setSelection(selection);
-        LocalSelectionTransfer.getInstance().setSelectionSetTime(event.time & 0xFFFFFFFFL);
-        event.doit= isDragable(selection);
-    }
-    
-    /**
-     * Checks if the elements contained in the given selection can
-     * be dragged.
-     * <p>
-     * Subclasses may override.
-     * 
-     * @param selection containing the elements to be dragged
-     */
-    protected boolean isDragable(ISelection selection) {
-        if (fView.canMove(selection)) {
-            fContainers = fView.getMovedFromContainers(selection);
-            return true;
-        }
-        return false;
-    }
-
-
-    /* non Java-doc
-     * @see org.eclipse.swt.dnd.DragSourceListener#dragSetData
-     */     
-    public void dragSetData(DragSourceEvent event) {
-        // For consistency set the data to the selection even though
-        // the selection is provided by the LocalSelectionTransfer
-        // to the drop target adapter.
-        event.data= LocalSelectionTransfer.getInstance().getSelection();
-    }
-
-
-    /* non Java-doc
-     * @see org.eclipse.swt.dnd.DragSourceListener#dragFinished
-     */ 
-    public void dragFinished(DragSourceEvent event) {
-        if (event.detail == DND.DROP_MOVE) {
-            // remove from source on move operation
-            fView.performRemove(fContainers, LocalSelectionTransfer.getInstance().getSelection());
-        }
-        LocalSelectionTransfer.getInstance().setSelection(null);
-        LocalSelectionTransfer.getInstance().setSelectionSetTime(0);
-    }   
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java
deleted file mode 100644
index a726067..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerDropAdapter;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
-
-/**
- * BreakpointsDropAdapter
- */
-public class BreakpointsDropAdapter extends ViewerDropAdapter {
-    
-    private BreakpointsView fView;
-
-    /**
-     * @param viewer
-     */
-    protected BreakpointsDropAdapter(BreakpointsView view, Viewer viewer) {
-        super(viewer);
-        fView = view;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ViewerDropAdapter#performDrop(java.lang.Object)
-     */
-    public boolean performDrop(Object data) {
-        return fView.performPaste(getCurrentTarget(), LocalSelectionTransfer.getInstance().getSelection());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData)
-     */
-    public boolean validateDrop(Object target, int operation, TransferData transferType) {
-        return fView.canPaste(target, LocalSelectionTransfer.getInstance().getSelection());
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java
deleted file mode 100644
index 626d311..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.CompositeDebugImageDescriptor;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Label provider for the breakpoints view
- */
-public class BreakpointsLabelProvider extends LabelProvider implements IFontProvider {
-
-    private WorkbenchLabelProvider fWorkbenchLabelProvider;
-    private IDebugModelPresentation fPresentation;
-    
-    /**
-     * Constructs a new label provide for the breakpoints view.
-     */
-    public BreakpointsLabelProvider() {
-        fWorkbenchLabelProvider = new WorkbenchLabelProvider();
-        fPresentation = DebugUITools.newDebugModelPresentation();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-     */
-    public void dispose() {
-        fWorkbenchLabelProvider.dispose();
-        fPresentation.dispose();
-        super.dispose();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-     */
-    public Image getImage(Object element) {
-        if (element instanceof IBreakpoint) {
-            return fPresentation.getImage(element);
-        }
-        Image image = fWorkbenchLabelProvider.getImage(element);
-        if (image != null) {
-            int flags= computeAdornmentFlags();
-            if (flags > 0) {
-                CompositeDebugImageDescriptor descriptor= new CompositeDebugImageDescriptor(image, flags);
-                return DebugUIPlugin.getImageDescriptorRegistry().get(descriptor);
-            }
-        }
-        return image;        
-    }
-    
-	/**
-     * Computes and return common adornment flags for the given category.
-     * 
-     * @param element breakoint category
-     * @return adornment flags defined in CompositeDebugImageDescriptor
-     */
-    private int computeAdornmentFlags() {
-        if (!DebugPlugin.getDefault().getBreakpointManager().isEnabled()) {
-            return CompositeDebugImageDescriptor.SKIP_BREAKPOINT;
-        }
-        return 0;
-    }    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-     */
-    public String getText(Object element) {
-        if (element instanceof IBreakpoint) {
-            return fPresentation.getText(element);
-        }
-        return fWorkbenchLabelProvider.getText(element);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object)
-     */
-    public Font getFont(Object element) {
-        if (element instanceof IBreakpoint) {
-            return null;
-        }
-        return fWorkbenchLabelProvider.getFont(element);
-    }
-    
-    /**
-     * Returns the debug model presentation used by this label provider.
-     * 
-     * @return the debug model presentation used by this label provider
-     */
-    protected IDebugModelPresentation getPresentation() {
-        return fPresentation;
-    }
-}
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 523ebf9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsSorter.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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) {
-            if (!(e1 instanceof IBreakpoint)) {
-                return super.compare(viewer, e1, 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) {
-			}
-			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 14580c1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
+++ /dev/null
@@ -1,915 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brock Janiczak - bug 78494
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
- 
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugPlugin;
-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.LazyModelPresentation;
-import org.eclipse.debug.internal.ui.actions.breakpointGroups.CopyBreakpointsAction;
-import org.eclipse.debug.internal.ui.actions.breakpointGroups.PasteBreakpointsAction;
-import org.eclipse.debug.internal.ui.actions.breakpointGroups.RemoveFromWorkingSetAction;
-import org.eclipse.debug.internal.ui.actions.breakpoints.OpenBreakpointMarkerAction;
-import org.eclipse.debug.internal.ui.actions.breakpoints.ShowSupportedBreakpointsAction;
-import org.eclipse.debug.internal.ui.actions.breakpoints.SkipAllBreakpointsAction;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-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.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ITreeViewerListener;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreeExpansionEvent;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener2;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
-
-/**
- * This view shows the breakpoints registered with the breakpoint manager
- */
-public class BreakpointsView extends AbstractDebugView implements ISelectionListener, IBreakpointManagerListener, IPerspectiveListener2 {
-
-    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$
-    private static final String ACTION_REMOVE_FROM_GROUP = "RemoveFromGroup"; //$NON-NLS-1$
-	private BreakpointsContentProvider fContentProvider;
-    private Clipboard fClipboard;
-    
-	/**
-	 * This memento allows the Breakpoints view to save and restore state
-	 * when it is closed and opened within a session. A different
-	 * memento is supplied by the platform for persistance at
-	 * workbench shutdown.
-	 */
-	private static IMemento fgMemento;
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		super.createPartControl(parent);
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointManagerListener(this);
-		getSite().getWorkbenchWindow().addPerspectiveListener(this);
-	}
-
-	/**
-	 * @see AbstractDebugView#createViewer(Composite)
-	 */
-	protected Viewer createViewer(Composite parent) {
-		fContentProvider= new BreakpointsContentProvider();
-		CheckboxTreeViewer viewer = new BreakpointsViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK));
-        setViewer(viewer);
-		viewer.setContentProvider(fContentProvider);
-		viewer.setSorter(new BreakpointsSorter());
-		viewer.setInput(DebugPlugin.getDefault().getBreakpointManager());
-		viewer.addCheckStateListener(fCheckListener);
-		viewer.addTreeListener(new ITreeViewerListener() {
-			public void treeExpanded(TreeExpansionEvent event) {
-				((BreakpointsViewer)getViewer()).updateCheckedState(event.getElement());
-			}
-			public void treeCollapsed(TreeExpansionEvent event) {
-			}
-		});
-	    viewer.setLabelProvider(new BreakpointsLabelProvider());
-		
-		// Necessary so that the PropertySheetView hears about selections in this view
-		getSite().setSelectionProvider(viewer);
-		initIsTrackingSelection();
-		initBreakpointOrganizers();
-		setEventHandler(new BreakpointsViewEventHandler(this));
-        initDragAndDrop();
-		return viewer;
-	}
-    
-    private void initDragAndDrop() {
-        StructuredViewer viewer = (StructuredViewer)getViewer();
-        int ops= DND.DROP_MOVE | DND.DROP_COPY;
-        // drop
-        Transfer[] dropTransfers= new Transfer[] {
-            LocalSelectionTransfer.getInstance()
-        };
-        viewer.addDropSupport(ops, dropTransfers, new BreakpointsDropAdapter(this, viewer));
-        
-        // Drag 
-        Transfer[] dragTransfers= new Transfer[] {
-            LocalSelectionTransfer.getInstance()
-        };
-        viewer.addDragSupport(ops, dragTransfers, new BreakpointsDragAdapter(this, 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);
-	}
-	
-	private void initBreakpointOrganizers() {
-		IMemento memento = getMemento();
-		if (memento != null) {
-			IMemento node = memento.getChild(IDebugUIConstants.EXTENSION_POINT_BREAKPOINT_ORGANIZERS);
-			if (node == null) {
-                fContentProvider.setOrganizers(null);
-            } else {
-				String value = node.getString(KEY_VALUE);
-                if (value != null) {
-                    String[] ids = value.split(","); //$NON-NLS-1$
-    				BreakpointOrganizerManager manager = BreakpointOrganizerManager.getDefault();
-    				List organziers= new ArrayList();
-                    for (int i = 0; i < ids.length; i++) {
-                        IBreakpointOrganizer organizer = manager.getOrganizer(ids[i]);
-                        if (organizer != null) {
-                            organziers.add(organizer);
-                        }
-                    }
-    				fContentProvider.setOrganizers((IBreakpointOrganizer[]) organziers.toArray(new IBreakpointOrganizer[organziers.size()]));
-                }
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#getMemento()
-	 */
-	protected IMemento getMemento() {
-		if (fgMemento != null) {
-		    return fgMemento;
-		}
-		return super.getMemento();
-	}
-	
-    /**
-     * Update the checked state up the given element and all of its children.
-     * 
-     * @param element
-     */
-	public void updateCheckedState(Object element) {
-        ((BreakpointsViewer)getViewer()).updateCheckedState(element);
-	}
-		
-	/**
-	 * Returns this view's viewer as a checkbox tree viewer.
-	 * @return this view's viewer as a checkbox tree viewer
-	 */
-	public CheckboxTreeViewer getCheckboxViewer() {
-		return (CheckboxTreeViewer) getViewer();
-	}
-	
-	/**
-	 * Returns this view's content provider as a tree content provider.
-	 * @return this view's content provider as a tree content provider
-	 */
-	public ITreeContentProvider getTreeContentProvider() {
-	    return fContentProvider;
-	}
-
-	/**
-	 * 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 BreakpointContainer) {
-			handleContainerChecked(event, (BreakpointContainer) source);
-		} else if (source instanceof IBreakpoint) {
-			handleBreakpointChecked(event, (IBreakpoint) source);
-		}
-	}
-	/**
-	 * A breakpoint has been checked/unchecked. Update the group
-	 * element's checked/grayed state as appropriate.
-	 */
-	private void handleBreakpointChecked(final CheckStateChangedEvent event, final IBreakpoint breakpoint) {
-		final boolean enable= event.getChecked();
-        String jobName = enable ? DebugUIViewsMessages.BreakpointsView_0 : DebugUIViewsMessages.BreakpointsView_1; // 
-        new Job(jobName) {
-            protected IStatus run(IProgressMonitor monitor) {
-                try {
-                    breakpoint.setEnabled(enable);
-                    return Status.OK_STATUS;
-                } catch (final CoreException e) {
-                    Display.getDefault().asyncExec(new Runnable() {
-                        public void run() {
-                            String titleState= enable ? DebugUIViewsMessages.BreakpointsView_6 : DebugUIViewsMessages.BreakpointsView_7; // 
-                            String messageState= enable ? DebugUIViewsMessages.BreakpointsView_8 : DebugUIViewsMessages.BreakpointsView_9;  // 
-                            DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), MessageFormat.format(DebugUIViewsMessages.BreakpointsView_10, new String[] { titleState }), MessageFormat.format(DebugUIViewsMessages.BreakpointsView_11, new String[] { messageState }), e); // 
-                            // If the breakpoint fails to update, reset its check state.
-                            getCheckboxViewer().removeCheckStateListener(fCheckListener);
-                            event.getCheckable().setChecked(breakpoint, !event.getChecked());
-                            getCheckboxViewer().addCheckStateListener(fCheckListener);                            
-                        }
-                    });
-                }
-                return Status.CANCEL_STATUS;
-            }
-        }.schedule();
-    }
-
-	/**
-	 * A group has been checked or unchecked. Enable/disable all of the
-	 * breakpoints in that group to match.
-	 */
-	private void handleContainerChecked(CheckStateChangedEvent event, BreakpointContainer container) {
-		final IBreakpoint[] breakpoints = container.getBreakpoints();
-		final boolean enable= event.getChecked();
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-            public void run(IProgressMonitor monitor) throws CoreException {
-                for (int i = 0; i < breakpoints.length; i++) {
-                    IBreakpoint breakpoint = breakpoints[i];
-                    breakpoint.setEnabled(enable);
-                }
-            }
-        };
-        try {
-            // TODO: should use scheduling rule
-            ResourcesPlugin.getWorkspace().run(runnable, null);
-        } catch (CoreException e) {
-            DebugUIPlugin.log(e);
-        }
-	}
-
-	/**
-	 * @see AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.BREAKPOINT_VIEW;
-	}
-
-	/**
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-        disposeAction(IWorkbenchActionDefinitionIds.COPY);
-        disposeAction(IWorkbenchActionDefinitionIds.PASTE);
-        disposeAction(ACTION_REMOVE_FROM_GROUP); 
-        
-	    if (getCheckboxViewer() != null) {
-	        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();
-		}
-        
-        if (fClipboard != null) {
-            fClipboard.dispose();
-        }
-        
-		getSite().getWorkbenchWindow().removePerspectiveListener(this);
-	}
-
-	/**
-	 * @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("SkipBreakpoints", new SkipAllBreakpointsAction()); //$NON-NLS-1$
-        
-        fClipboard= new Clipboard(getSite().getShell().getDisplay());
-        
-        PasteBreakpointsAction paste = new PasteBreakpointsAction(this);
-        configure(paste, IWorkbenchActionDefinitionIds.PASTE, ActionFactory.PASTE.getId(),ISharedImages.IMG_TOOL_PASTE);
-        SelectionListenerAction copy = new CopyBreakpointsAction(this, fClipboard, paste);
-        configure(copy, IWorkbenchActionDefinitionIds.COPY, ActionFactory.COPY.getId(), ISharedImages.IMG_TOOL_COPY);
-        
-        SelectionListenerAction remove = new RemoveFromWorkingSetAction(this);
-        setAction(ACTION_REMOVE_FROM_GROUP, remove); 
-        getViewer().addSelectionChangedListener(remove);
-	}
-
-	/**
-     * Configures the action to override the global action, registers
-     * the action for selection change notification, and registers
-     * the action with this view.
-     * 
-     * @param sla action
-     * @param defId action definition id
-     * @param globalId global action id
-     * @param imgId image identifier
-     */
-    private void configure(SelectionListenerAction action, String defId, String globalId, String imgId) {
-        setAction(defId, action);
-        action.setActionDefinitionId(defId);
-        getViewSite().getActionBars().setGlobalActionHandler(globalId, action);
-        getViewer().addSelectionChangedListener(action);
-        action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(imgId));
-    }
-    
-    /**
-     * Cleans up selection listener action
-     * 
-     * @param id action id
-     */
-    private void disposeAction(String id) {
-        IAction action = getAction(id);
-        if (action instanceof SelectionListenerAction) {
-            SelectionListenerAction sla = (SelectionListenerAction) action;
-            if (getViewer() != null) {
-                getViewer().removeSelectionChangedListener(sla);
-            }
-        }
-    }
-
-    /**
-	 * 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(getAction(IWorkbenchActionDefinitionIds.COPY));
-        menu.add(getAction(IWorkbenchActionDefinitionIds.PASTE));
-        IAction action = getAction(ACTION_REMOVE_FROM_GROUP);
-        if (action.isEnabled()) {
-            menu.add(action);
-        }
-		menu.add(new Separator(IDebugUIConstants.EMPTY_RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.BREAKPOINT_GROUP_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("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();
-        CheckboxTreeViewer viewer = getCheckboxViewer();
-        ISelection selection = viewer.getSelection();
-        viewer.getControl().setRedraw(false);
-        ((BreakpointsContentProvider)viewer.getContentProvider()).reorganize();
-        viewer.setSelection(new StructuredSelection(selection));
-        viewer.getControl().setRedraw(true);
-	}
-
-	/* (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));
-		
-		StringBuffer buffer= new StringBuffer();
-		IBreakpointOrganizer[] organizers = getBreakpointOrganizers();
-        if (organizers != null) {
-            for (int i = 0; i < organizers.length; i++) {
-                IBreakpointOrganizer organizer = organizers[i];
-                buffer.append(organizer.getIdentifier());
-                if (i < (organizers.length - 1)) {
-                    buffer.append(',');
-                }
-            }
-            node = memento.createChild(IDebugUIConstants.EXTENSION_POINT_BREAKPOINT_ORGANIZERS);
-            node.putString(KEY_VALUE, buffer.toString());
-        }
-		
-	}
-
-	/* (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();
-				}
-			}
-		});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent)
-	 */
-	public void doubleClick(DoubleClickEvent event) {
-		  IStructuredSelection selection= (IStructuredSelection) event.getSelection();
-          if (selection.size() == 1) {
-              Object element = selection.getFirstElement();
-              if (element instanceof BreakpointContainer) {
-                  getCheckboxViewer().setExpandedState(element, !getCheckboxViewer().getExpandedState(element));
-                  return;
-              }
-          }
-		super.doubleClick(event);
-	}
-
-	/**
-	 * @param selectedContainers
-	 */
-	public void setBreakpointOrganizers(IBreakpointOrganizer[] organizers) {
-        Viewer viewer = getViewer();
-        ISelection selection = viewer.getSelection();
-		fContentProvider.setOrganizers(organizers);
-		viewer.setSelection(selection);
-	}
-	
-	public IBreakpointOrganizer[] getBreakpointOrganizers() {
-		return fContentProvider.getOrganizers();
-	}
-
-    /* (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 (partRef instanceof IViewReference && changeId.equals(IWorkbenchPage.CHANGE_VIEW_HIDE)) {
-			String id = ((IViewReference) partRef).getId();
-			if (id.equals(getViewSite().getId())) {
-				// BreakpointsView closed. Persist settings.
-				fgMemento= XMLMemento.createWriteRoot("BreakpointsViewMemento"); //$NON-NLS-1$
-				saveState(fgMemento);
-			}
-		}
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPerspectiveListener#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
-     */
-    public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-    }
-
-    /* (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) {
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IDebugView#getPresentation(java.lang.String)
-     */
-    public IDebugModelPresentation getPresentation(String id) {
-        if (getViewer() instanceof StructuredViewer) {
-            IBaseLabelProvider lp = ((StructuredViewer)getViewer()).getLabelProvider();
-            if (lp instanceof BreakpointsLabelProvider) {
-                BreakpointsLabelProvider blp = (BreakpointsLabelProvider) lp;
-                lp = blp.getPresentation();
-            }
-            if (lp instanceof DelegatingModelPresentation) {
-                return ((DelegatingModelPresentation)lp).getPresentation(id);
-            }
-            if (lp instanceof LazyModelPresentation) {
-                if (((LazyModelPresentation)lp).getDebugModelIdentifier().equals(id)) {
-                    return (IDebugModelPresentation)lp;
-                }
-            }
-        }
-        return null;
-    }    
-    
-    /**
-     * Checks if the elements contained in the given selection can
-     * be moved.
-     * 
-     * @param selection containing the elements to be moved
-     */
-    public boolean canMove(ISelection selection) {
-        if (selection.isEmpty() || !fContentProvider.isShowingGroups()) {
-            return false;
-        }
-        if (selection instanceof IStructuredSelection) {
-            IStructuredSelection ss = (IStructuredSelection) selection;
-            Object[] objects = ss.toArray();
-            for (int i = 0; i < objects.length; i++) {
-                Object object = objects[i];
-                if (object instanceof IBreakpoint) {
-                    IBreakpoint breakpoint = (IBreakpoint) object;
-                    BreakpointContainer[] containers = getMovedFromContainers(breakpoint);
-                    if (containers == null || containers.length == 0) {
-                        return false;
-                    }
-                } else {
-                    return false;
-                }
-            }
-        } else {
-            return false;
-        }
-        return true;
-    }   
-    
-    /**
-     * Returns whether the given selection can be pasted into the given target.
-     * 
-     * @param target target of the paste
-     * @param selection the selection to paste
-     * @return whether the given selection can be pasted into the given target
-     */
-    public boolean canPaste(Object target, ISelection selection) {
-        if (target instanceof BreakpointContainer) {
-            BreakpointContainer container = (BreakpointContainer) target;
-            if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
-                Object[] objects = ((IStructuredSelection)selection).toArray();
-                for (int i = 0; i < objects.length; i++) {
-                    if (objects[i] instanceof IBreakpoint) {
-                        IBreakpoint breakpoint = (IBreakpoint)objects[i];
-                        if (container.contains(breakpoint) || !container.getOrganizer().canAdd(breakpoint, container.getCategory())) {
-                            return false;
-                        }
-                    } else {
-                        return false;
-                    }
-                }
-                return true;
-            }
-        }            
-        if(target instanceof IBreakpoint){
-        	IBreakpoint bp = (IBreakpoint)target;
-        	BreakpointContainer cont = getBreakpointContainer(bp);
-        	if(cont!=null){
-        		return canPaste(cont,selection);	
-        	}
-        }
-        return false;
-    }   
-    
-    /**
-     * Returns the BreakpointContainer which holds the 
-     * given breakpoint, or null if such a container cannot be found.
-     * @param breakpoint the breakpoint whose container is to be returned
-     * @return the container of the given breakpoint.
-     * @since 3.2
-     */
-    private BreakpointContainer getBreakpointContainer(IBreakpoint breakpoint) {
-    	BreakpointContainer[] containers = fContentProvider.getContainers(breakpoint);
-    	if (containers != null && containers.length > 0) {
-    		return containers[0];
-    	}
-		return null;
-	}
-
-	public void performRemove(BreakpointContainer[] containers, ISelection ss) {
-        if (ss instanceof IStructuredSelection) {
-            // remove from source on move operation
-            IStructuredSelection selection = (IStructuredSelection) ss;
-            Object[] breakpoints = selection.toArray();
-            for (int i = 0; i < breakpoints.length; i++) {
-                IBreakpoint breakpoint = (IBreakpoint) breakpoints[i];
-                for (int j = 0; j < containers.length; j++) {
-                    BreakpointContainer container = containers[j];
-                    container.getOrganizer().removeBreakpoint(breakpoint, container.getCategory());
-                }
-            }
-        }
-    }
-    
-    /** 
-     * Pastes the selection into the given target
-     * 
-     * @param target target of the paste, either a BreakpointContainer,
-     * or a Breakpoint within a BreakpointContainer
-     * @param selection breakpoints
-     * @return whehther successful
-     */
-    public boolean performPaste(Object target, ISelection selection) {
-        if (target instanceof BreakpointContainer && selection instanceof IStructuredSelection) {
-            BreakpointContainer container = (BreakpointContainer) target;
-            Object[] objects = ((IStructuredSelection)selection).toArray();
-            for (int i = 0; i < objects.length; i++) {
-                container.getOrganizer().addBreakpoint((IBreakpoint)objects[i], container.getCategory());
-            }
-            return true;
-        }
-        if(target instanceof IBreakpoint){
-        	return performPaste(getBreakpointContainer((IBreakpoint)target),selection);
-        }
-        return false;
-    }      
-    
-    public BreakpointContainer[] getMovedFromContainers(ISelection selection) {
-        List list = new ArrayList();
-        if (selection instanceof IStructuredSelection) {
-            IStructuredSelection ss = (IStructuredSelection) selection;
-            Object[] objects = ss.toArray();
-            for (int i = 0; i < objects.length; i++) {
-                if (objects[i] instanceof IBreakpoint) {
-                    IBreakpoint breakpoint = (IBreakpoint) objects[i];
-                    BreakpointContainer[] containers = getMovedFromContainers(breakpoint);
-                    for (int j = 0; j < containers.length; j++) {
-                        list.add(containers[j]);
-                    }
-                }
-                
-            }
-        }
-        return (BreakpointContainer[]) list.toArray(new BreakpointContainer[list.size()]);
-    }
-    /**
-     * Returns the parent of the given breakpoint that allows the breakpoint
-     * to be removed. Only parents of selected breakpoints are considered.
-     * 
-     * @param breakpoint candidate for removal
-     * @return containers that the breakpoint should be removed from
-     */
-    public BreakpointContainer[] getMovedFromContainers(IBreakpoint breakpoint) {
-        BreakpointsViewer viewer = (BreakpointsViewer) getViewer();
-        Item[] items = viewer.getSelectedItems();    
-        List list = new ArrayList();
-        for (int i = 0; i < items.length; i++) {
-            TreeItem item = (TreeItem) items[i];
-            if (breakpoint.equals(item.getData())) {
-                BreakpointContainer parent = getRemoveableParent(item, breakpoint);
-                if (parent != null) {
-                    list.add(parent);
-                }
-            }
-        }
-        return (BreakpointContainer[]) list.toArray(new BreakpointContainer[list.size()]);
-    }
-        
-    private BreakpointContainer getRemoveableParent(TreeItem item, IBreakpoint breakpoint) {
-        TreeItem parentItem = item.getParentItem();
-        if (parentItem != null) {
-            Object data = parentItem.getData();
-            if (data instanceof BreakpointContainer) {
-                BreakpointContainer container = (BreakpointContainer) data;
-                if (container.getOrganizer().canRemove(breakpoint, container.getCategory())) {
-                    return container;
-                }
-            }
-            return getRemoveableParent(parentItem, breakpoint);
-        }
-        return null;
-    }    
-    
-    public boolean isShowingGroups() {
-        return fContentProvider.isShowingGroups();
-    }
-    
-	/**
-	 * Returns a list containing a point indicating the breakpoint to attempt to
-	 * select a list of groups to select, or <code>null</code> if none.
-	 * 
-	 * @return
-	 */
-	public List getSelectionState() {
-		Tree tree = ((BreakpointsViewer)getViewer()).getTree();
-		TreeItem[] selection = tree.getSelection();
-		if (selection.length > 0) {
-			List list = new ArrayList();
-			TreeItem[] roots = tree.getItems();
-			TreeItem first = getFirstSelectedItem(roots, selection);
-			if (first.getData() instanceof IBreakpoint) {
-				TreeItem parentItem = first.getParentItem();
-				if (parentItem == null) {
-					list.add(new Point(0, indexOf(roots, first)));
-				} else {
-					int breakpointIndex = indexOf(parentItem.getItems(),first);
-					while (parentItem.getParentItem() != null) {
-						parentItem = parentItem.getParentItem();
-					}
-					int groupIndex = indexOf(roots, parentItem);
-					list.add(new Point(groupIndex, breakpointIndex));
-				}
-			} else {
-				for (int i = 0; i < selection.length; i++) {
-					TreeItem item = selection[i];
-					list.add(item.getData());
-				}
-			}
-			return list;
-		}
-		return null;
-	}
-	
-	private TreeItem getFirstSelectedItem(TreeItem[] items, TreeItem[] selection) {
-		for (int i = 0; i < items.length; i++) {
-			TreeItem item = items[i];
-			if (indexOf(selection, item) >= 0) {
-				return item;
-			}
-			TreeItem first = getFirstSelectedItem(item.getItems(), selection);
-			if (first != null) {
-				return first;
-			}
-		}
-		return null;
-	}
-	
-	private int indexOf(Object[] list, Object object) {
-		for (int i = 0; i < list.length; i++) {
-			if (object.equals(list[i])) {
-				return i;
-			}
-		}
-		return -1;
-	}
-    
-	public void preserveSelectionState(List state) {
-		if (state != null) {
-			if (state.get(0) instanceof Point) {
-				Point p = (Point) state.get(0);
-				int groupIndex = p.x;
-				int bpIndex = p.y;
-				Tree tree = ((BreakpointsViewer)getViewer()).getTree();
-				TreeItem[] roots = tree.getItems();
-				TreeItem selection = null;
-				if (roots.length > 0 && groupIndex < roots.length) {
-					TreeItem group = roots[groupIndex];
-					if (group.getData() instanceof IBreakpoint) {
-						if (bpIndex < roots.length) {
-							selection = roots[bpIndex];
-						} else {
-							selection = roots[roots.length -1];
-						}
-					} else {
-						TreeItem[] bps = group.getItems();
-						while (bps.length > 0 && !(bps[0].getData() instanceof IBreakpoint)) {
-							group = bps[0];
-							bps = group.getItems();
-						}
-						if (bpIndex < bps.length) {
-							selection = bps[bpIndex];
-						} else if (bps.length > 0) {
-							selection = bps[bps.length - 1];
-						} else {
-							selection = group;
-						}
-					}
-				}
-				if (selection != null) {
-					((BreakpointsViewer)getViewer()).setSelection(selection);
-				}
-			} else {
-				getViewer().setSelection(new StructuredSelection(state));
-			}
-		}
-	}
-}
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 300bc1a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewEventHandler.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brock Janiczak - bug 57999
- *     Michael Fraenkel - bug 84385
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointManagerListener;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.StructuredSelection;
-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 grouping),
- * updating the breakpoints view and viewer.
- */
-public class BreakpointsViewEventHandler implements IBreakpointsListener, IActivityManagerListener, IBreakpointManagerListener {
-
-	private BreakpointsView fView;
-
-	/**
-	 * Constructs an event handler for the breakpoints view.
-	 */
-	public BreakpointsViewEventHandler(BreakpointsView view) {
-		fView= view;
-		IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-		breakpointManager.addBreakpointListener(this);
-		breakpointManager.addBreakpointManagerListener(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() {
-		IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-		breakpointManager.removeBreakpointListener(this);
-		breakpointManager.removeBreakpointManagerListener(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()) {
-						CheckboxTreeViewer viewer = fView.getCheckboxViewer();
-                        viewer.getControl().setRedraw(false);
-                        BreakpointsContentProvider provider = (BreakpointsContentProvider)viewer.getContentProvider();
-                        provider.reorganize();
-                        
-						// This code is left in as a test case for platform bug 77075
-						//for (int i = 0; i < breakpoints.length; i++) { 
-							//viewer.expandToLevel(breakpoints[i], AbstractTreeViewer.ALL_LEVELS);
-						//}
-                        // expand as required
-                        for (int i = 0; i < breakpoints.length; i++) {
-                            IBreakpoint breakpoint = breakpoints[i];
-                            BreakpointContainer[] roots = provider.getRoots(breakpoint);
-                            if (roots != null) {
-                                for (int j = 0; j < roots.length; j++) {
-                                    viewer.expandToLevel(roots[j], AbstractTreeViewer.ALL_LEVELS);
-                                }
-                            }
-                        }
-                        fView.getViewer().refresh();
-                        viewer.setSelection(new StructuredSelection(breakpoints));
-                        viewer.getControl().setRedraw(true);
-						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()) {
-						CheckboxTreeViewer viewer= (CheckboxTreeViewer)fView.getViewer();
-                        viewer.getControl().setRedraw(false);
-                        ((BreakpointsContentProvider)viewer.getContentProvider()).reorganize();
-                        viewer.getControl().setRedraw(true);
-						fView.updateObjects();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsChanged(IBreakpoint[], IMarkerDelta[])
-	 */
-	public void breakpointsChanged(final IBreakpoint[] breakpoints, final IMarkerDelta[] deltas) {
-		if (fView.isAvailable() & fView.isVisible()) {
-			fView.asyncExec(new Runnable() {
-				public void run() {
-					if (fView.isAvailable()) {
-						CheckboxTreeViewer viewer = (CheckboxTreeViewer)fView.getViewer();
-                        viewer.getControl().setRedraw(false);
-                        BreakpointsContentProvider provider = (BreakpointsContentProvider) viewer.getContentProvider();
-                        Set updates = new HashSet();
-						for (int i = 0; i < breakpoints.length; i++) {
-							IBreakpoint breakpoint = breakpoints[i];
-                            viewer.update(breakpoint, null);
-                            BreakpointContainer[] containers = provider.getContainers(breakpoint);
-                            if (containers != null) {
-                                for (int j = 0; j < containers.length; j++ ) {
-                                    updates.add(containers[j]);
-                                }
-                            } else {
-                            	updates.add(breakpoint);
-                            }
-						}
-                        Object[] objects = updates.toArray();
-                        for (int i = 0; i < objects.length; i++) {
-                            fView.updateCheckedState(objects[i]);
-                        }
-                        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();
-				}
-			});
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManagerListener#breakpointManagerEnablementChanged(boolean)
-	 */
-	public void breakpointManagerEnablementChanged(boolean enabled) {
-		if (fView.isAvailable() & fView.isVisible()) {
-			fView.asyncExec(new Runnable() {
-				public void run() {
-					fView.getViewer().refresh();
-				}
-			});
-		}		
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java
deleted file mode 100644
index a697cef..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-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.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Breakpoints viewer.
- */
-public class BreakpointsViewer extends CheckboxTreeViewer {
-
-    /**
-     * Constructs a new breakpoints viewer with the given tree.
-     * 
-     * @param tree
-     */
-    public BreakpointsViewer(Tree tree) {
-        super(tree);
-    }
-    
-    /**
-     * Returns the selected items.
-     * 
-     * @return seleted items
-     */
-    public Item[] getSelectedItems() {
-        return getSelection(getControl());
-    }
-    
-    /**
-     * Returns the item assocaited with the given element, or <code>null</code>.
-     * 
-     * @param element element in breakpoints view
-     * @return item assocaited with the given element, or <code>null</code>
-     */
-    public Widget searchItem(Object element) {
-        return findItem(element);
-    }
-    
-    /**
-     * Refreshes the given item in the tree.
-     * 
-     * @param item item to refresh
-     */
-    public void refreshItem(TreeItem item) {
-        updateItem(item, item.getData());
-    }
-    
-    /**
-     * Returns a collection of currently visible breakpoints.
-     * 
-     * @return collection of currently visible breakpoints
-     */
-    public IBreakpoint[] getVisibleBreakpoints() {
-        IBreakpointManager manager= DebugPlugin.getDefault().getBreakpointManager();
-        Object[] elements= ((ITreeContentProvider)getContentProvider()).getElements(manager);
-        List list = new ArrayList();
-        for (int i = 0; i < elements.length; i++) {
-            TreeItem item = (TreeItem) searchItem(elements[i]);
-            if (item != null) {
-                collectExpandedBreakpoints(item, list);
-            }
-        }
-        return (IBreakpoint[]) list.toArray(new IBreakpoint[list.size()]);
-    }
-
-    /**
-     * Adds expanded breakpoints to the list. Traverses children of the given
-     * tree item if any.
-     * 
-     * @param item  
-     * @param list collection of visible breakpoints
-     */
-    private void collectExpandedBreakpoints(TreeItem item, List list) {
-        Object data = item.getData();
-        if (data instanceof IBreakpoint) {
-            list.add(data);
-            return;
-        }
-        if (item.getExpanded()) {
-            TreeItem[] items = item.getItems();
-            for (int i = 0; i < items.length; i++) {
-                collectExpandedBreakpoints(items[i], list);
-            }
-        }
-    }
-
-    /**
-     * Sets the selection to a specific tree item
-     * 
-     * @param item
-     */
-    protected void setSelection(TreeItem item) {
-    	getTree().setSelection(new TreeItem[]{item});
-    	updateSelection(getSelection());
-    }
-    
-    
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.Viewer#refresh()
-	 */
-	public void refresh() {
-		super.refresh();
-		initializeCheckedState();
-	}
-
-	/**
-	 * Sets the initial checked state of the items in the viewer.
-	 */
-	private void initializeCheckedState() {
-		TreeItem[] items = getTree().getItems();
-		for (int i = 0; i < items.length; i++) {
-			updateCheckedState(items[i]);
-		}
-	}    
-    
-    /**
-     * Update the checked state up the given element and all of its children.
-     * 
-     * @param element
-     */
-	public void updateCheckedState(Object element) {
-        Widget[] widgets = searchItems(element);
-        for (int i = 0; i < widgets.length; i++) {
-            Widget widget = widgets[i];
-            if (widget != null) {
-                updateCheckedState((TreeItem)widget);
-            }
-        }
-	}
-   
-	/**
-	 * finds all occurrences of a widget to update
-	 * @param element the element to search for when finding occurrences
-	 * @return a list of widget occurrences to update or an empty list
-	 */
-    private Widget[] searchItems(Object element) {
-        ArrayList list = new ArrayList();
-        TreeItem[] items = getTree().getItems();
-        for (int i = 0; i < items.length; i++) {
-        	findAllOccurrences(items[i], element, list);
-        }//end for
-        return (Widget[]) list.toArray(new Widget[0]);
-    }
-    
-    /**
-     * performs the actual search for items in the tree
-     * @param list the list to add matches to
-     * @param item the item in the tree
-     * @param element the element to compare
-     */
-    private void findAllOccurrences(TreeItem item, Object element, ArrayList list) {
-        if (element.equals(item.getData())) {
-                list.add(item);
-        }//end if
-        TreeItem[] items = item.getItems();
-        for (int i = 0; i < items.length; i++) {
-        	findAllOccurrences(items[i], element, list);
-        }
-    }
-    
-    /**
-     * Update the checked state up the given element and all of its children.
-     * 
-     * @param element
-     */
-    public void updateCheckedState(TreeItem item) {
-        Object element = item.getData();
-        if (element instanceof IBreakpoint) {
-            try {
-                item.setChecked(((IBreakpoint) element).isEnabled());
-                refreshItem(item);
-            } catch (CoreException e) {
-                DebugUIPlugin.log(e);
-            }
-        } else if (element instanceof BreakpointContainer) {
-            IBreakpoint[] breakpoints = ((BreakpointContainer) element).getBreakpoints();
-            int enabledChildren= 0;
-            for (int i = 0; i < breakpoints.length; i++) {
-                IBreakpoint breakpoint = breakpoints[i];
-                try {
-                    if (breakpoint.isEnabled()) {
-                        enabledChildren++;
-                    }
-                } catch (CoreException e) {
-                    DebugUIPlugin.log(e);
-                }
-            }
-            if (enabledChildren == 0) {
-                // Uncheck the container node if no children are enabled
-                item.setGrayed(false);
-                item.setChecked(false);
-            } else if (enabledChildren == breakpoints.length) {
-                // Check the container if all children are enabled
-                item.setGrayed(false);
-                item.setChecked(true);
-            } else {
-                // If some but not all children are enabled, gray the container node
-                item.setGrayed(true);
-                item.setChecked(true);
-            }
-            // Update any children (breakpoints and containers)
-            TreeItem[] items = item.getItems();
-            for (int i = 0; i < items.length; i++) {
-                updateCheckedState(items[i]);
-            }
-        }
-    }        
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java
deleted file mode 100644
index bf2a4b3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate;
-
-/**
- * Breakpoint organizers for files.
- * 
- * @since 3.1
- */
-public class FileBreakpointOrganizer extends AbstractBreakpointOrganizerDelegate {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint)
-     */
-    public IAdaptable[] getCategories(IBreakpoint breakpoint) {
-        IMarker marker = breakpoint.getMarker();
-        if (marker != null) {
-            IResource resource = marker.getResource();
-            if (resource.getType() == IResource.FILE) {
-                return new IAdaptable[]{(IFile)resource};
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/IBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/IBreakpointOrganizer.java
deleted file mode 100644
index eefe1f7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/IBreakpointOrganizer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.debug.ui.IBreakpointOrganizerDelegate;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * A breakpoint organizer is used to categorize breakpoints and provides
- * change notification when categorization has changed. Breakpoint organizers
- * are contributed via the <code>breakpointOrganizers</code> extension point.
- * <p>
- * This interface is not intended to be implemented. Clients contributing a breakpoint
- * organizer are intended to implement <code>IBreakpointOrganizerDelegate</code>.
- * </p>
- * @since 3.1
- */
-public interface IBreakpointOrganizer extends IBreakpointOrganizerDelegate {
-    
-    /**
-     * Returns a label for this breakpoint organizer.
-     * 
-     * @return a label for this breakpoint organizer
-     */
-    public String getLabel();
-    
-    /**
-     * Returns an image descriptor for this breakpoint organizer or <code>null</code>.
-     * 
-     * @return an image descriptor for this breakpoint organizer or <code>null</code>
-     */
-    public ImageDescriptor getImageDescriptor();
-    
-    /**
-     * Returns a unique identifier for this breakpoint organizer.
-     * 
-     * @return a unique identifier for this breakpoint organizer
-     */
-    public String getIdentifier();
-    
-    /**
-     * Returns the label for breakpoints that do not fall into a category
-     * for this organizer.
-     * 
-     * @return label for breakpoints that do not fall into a category
-     * for this organizer
-     */
-    public String getOthersLabel();
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/OtherBreakpointCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/OtherBreakpointCategory.java
deleted file mode 100644
index 388bb54..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/OtherBreakpointCategory.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Category for breakpoints in "other" categories.
- */
-public class OtherBreakpointCategory extends PlatformObject implements IWorkbenchAdapter {
-    
-    private static Map fOthers = new HashMap();
-    private IBreakpointOrganizer fOrganizer;
-    
-    
-    public static IAdaptable[] getCategories(IBreakpointOrganizer organizer) {
-        IAdaptable[] others = (IAdaptable[]) fOthers.get(organizer);
-        if (others == null) {
-            others = new IAdaptable[]{new OtherBreakpointCategory(organizer)};
-            fOthers.put(organizer, others);
-        }
-        return others;
-    }
-    
-    /**
-     * Constructs an 'other' category for the given organizer.
-     * 
-     * @param organizer breakpoint organizer
-     */
-    private OtherBreakpointCategory(IBreakpointOrganizer organizer) {
-        fOrganizer = organizer;
-    }
-
-    /* (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 DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_VIEW_BREAKPOINTS);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-     */
-    public String getLabel(Object o) {
-        return fOrganizer.getOthersLabel();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-     */
-    public Object getParent(Object o) {
-        return null;
-    }
-    
-    /* (non-Javadoc)
-     * @see java.lang.Object#equals(java.lang.Object)
-     */
-    public boolean equals(Object obj) {
-        if (obj instanceof OtherBreakpointCategory) {
-            OtherBreakpointCategory category = (OtherBreakpointCategory) obj;
-            return fOrganizer.equals(category.fOrganizer);
-        }
-        return false;
-    }
-    
-    /* (non-Javadoc)
-     * @see java.lang.Object#hashCode()
-     */
-    public int hashCode() {
-        return fOrganizer.hashCode();
-    }    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java
deleted file mode 100644
index 03d8ebd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate;
-
-/**
- * Breakpoint organizers for projects.
- * 
- * @since 3.1
- */
-public class ProjectBreakpointOrganizer extends AbstractBreakpointOrganizerDelegate {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint)
-     */
-    public IAdaptable[] getCategories(IBreakpoint breakpoint) {
-        IMarker marker = breakpoint.getMarker();
-        if (marker != null) {
-            IProject project = marker.getResource().getProject();
-            if (project != null) {
-                return new IAdaptable[]{project};
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java
deleted file mode 100644
index ce9671e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Breakpoint organizers for resource working sets.
- * 
- * @since 3.1
- */
-public class WorkingSetBreakpointOrganizer extends AbstractBreakpointOrganizerDelegate implements IPropertyChangeListener {
-    
-    IWorkingSetManager fWorkingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
-    
-    /**
-     * Constructs a working set breakpoint organizer. Listens for changes in
-     * working sets and fires property change notification.
-     */
-    public WorkingSetBreakpointOrganizer() {    
-        fWorkingSetManager.addPropertyChangeListener(this);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint)
-     */
-    public IAdaptable[] getCategories(IBreakpoint breakpoint) {
-    	List result = new ArrayList();
-        List parents = new ArrayList();
-        IResource res = breakpoint.getMarker().getResource();
-        parents.add(res);
-        while (res != null) {
-            res = res.getParent();
-            if (res != null) {
-                parents.add(res);
-            }
-        }
-        IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
-        for (int i = 0; i < workingSets.length; i++) {
-            if (!IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(workingSets[i].getId())) {
-		        IAdaptable[] elements = workingSets[i].getElements();
-		        for (int j = 0; j < elements.length; j++) {
-		            IResource resource = (IResource) elements[j].getAdapter(IResource.class);
-		            if (resource != null) {
-		                if (parents.contains(resource)) {
-		                	result.add(new WorkingSetCategory(workingSets[i]));
-		                	break;
-		                }
-		            }
-		        }
-            }
-        }
-        return (IAdaptable[]) result.toArray(new IAdaptable[result.size()]);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose()
-     */
-    public void dispose() {
-        fWorkingSetManager.removePropertyChangeListener(this);
-        fWorkingSetManager = null;
-        super.dispose();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent event) {
-        IWorkingSet set = null;
-        if (event.getNewValue() instanceof IWorkingSet) {
-            set = (IWorkingSet) event.getNewValue();
-        } else if (event.getOldValue() instanceof IWorkingSet) {
-            set = (IWorkingSet) event.getOldValue();
-        }
-        if (set != null && !IInternalDebugUIConstants.ID_BREAKPOINT_WORKINGSET.equals(set.getId())) {
-            fireCategoryChanged(new WorkingSetCategory(set));
-        }
-    }
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java
deleted file mode 100644
index 8f372fa..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter2;
-
-/**
- * Represents a breakpoint category for a specific working set.
- */
-public class WorkingSetCategory extends PlatformObject implements IWorkbenchAdapter, IWorkbenchAdapter2 {
-    
-    private IWorkingSet fWorkingSet;
-
-    /**
-     * Constructs a new workings set category for the given working set.
-     * 
-     * @param workingSet
-     */
-    public WorkingSetCategory(IWorkingSet workingSet) {
-        fWorkingSet = workingSet;
-    }
-    
-    /* (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 fWorkingSet.getImage();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-     */
-    public String getLabel(Object o) {
-        StringBuffer name = new StringBuffer(fWorkingSet.getName());
-        if (isDefault()) {
-            name.append(DebugUIViewsMessages.WorkingSetCategory_0); 
-        }
-        return name.toString();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-     */
-    public Object getParent(Object o) {
-        return null;
-    }
-    
-    /**
-     * Returns the working set for this category.
-     * 
-     * @return
-     */
-    public IWorkingSet getWorkingSet() {
-        return fWorkingSet;
-    }
-
-    /* (non-Javadoc)
-     * @see java.lang.Object#equals(java.lang.Object)
-     */
-    public boolean equals(Object obj) {
-        if (obj instanceof WorkingSetCategory) {
-            WorkingSetCategory category = (WorkingSetCategory) obj;
-            return category.getWorkingSet().equals(fWorkingSet);
-        }
-        return false;
-    }
-    
-    /* (non-Javadoc)
-     * @see java.lang.Object#hashCode()
-     */
-    public int hashCode() {
-        return fWorkingSet.hashCode();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter2#getForeground(java.lang.Object)
-     */
-    public RGB getForeground(Object element) {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter2#getBackground(java.lang.Object)
-     */
-    public RGB getBackground(Object element) {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter2#getFont(java.lang.Object)
-     */
-    public FontData getFont(Object element) {
-        if (isDefault()) {
-            FontData[] fontData = JFaceResources.getDefaultFont().getFontData();
-            if (fontData != null && fontData.length > 0) {
-                FontData data = fontData[0];
-                data.setStyle(SWT.BOLD);
-                return data;
-            }
-        }
-        return null;
-    }
-    
-    /**
-     * Whether this is the default breakpoint working set.
-     * 
-     * @return whether this is the default breakpoint working set
-     */
-    private boolean isDefault() {
-        return fWorkingSet.equals(BreakpointSetOrganizer.getDefaultWorkingSet());
-    }
-}
-
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 a51c68d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-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.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IPatternMatchListener;
-import org.eclipse.ui.console.PatternMatchEvent;
-import org.eclipse.ui.console.TextConsole;
-
-/**
- * Tracks text appended to the console and notifies listeners in terms of whole
- * lines.
- */
-public class ConsoleLineNotifier implements IPatternMatchListener, IPropertyChangeListener {
-	/**
-	 * Console listeners
-	 */
-	private List fListeners = new ArrayList(2);
-
-	/**
-	 * The console this notifier is tracking 
-	 */
-	private ProcessConsole fConsole = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IPatternMatchListenerDelegate#connect(org.eclipse.ui.console.TextConsole)
-	 */
-	public void connect(TextConsole console) {
-	    if (console instanceof ProcessConsole) {
-	        fConsole = (ProcessConsole)console;
-
-	        IConsoleLineTracker[] lineTrackers = DebugUIPlugin.getDefault().getProcessConsoleManager().getLineTrackers(fConsole.getProcess());
-	        for (int i = 0; i < lineTrackers.length; i++) {
-	            lineTrackers[i].init(fConsole);
-                addConsoleListener(lineTrackers[i]);
-            }
-	        
-	        fConsole.addPropertyChangeListener(this);
-	    }
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IPatternMatchListener#disconnect()
-	 */
-	public synchronized void disconnect() {
-        try {
-            IDocument document = fConsole.getDocument();
-            if (document != null) {
-                int lastLine = document.getNumberOfLines() - 1;
-                if (document.getLineDelimiter(lastLine) == null) {
-                    IRegion lineInformation = document.getLineInformation(lastLine);
-                    lineAppended(lineInformation);
-                }
-            }
-        } catch (BadLocationException e) {
-        }
-    }
-
-    /**
-     * Notification the console's streams have been closed
-     */
-    public synchronized void consoleClosed() {
-        int size = fListeners.size();
-        for (int i = 0; i < size; i++) {
-            IConsoleLineTracker tracker = (IConsoleLineTracker) fListeners.get(i);
-            if (tracker instanceof IConsoleLineTrackerExtension) {
-                ((IConsoleLineTrackerExtension) tracker).consoleClosed();
-            }
-            tracker.dispose();
-        }
-
-        fConsole = null;
-        fListeners = null;
-    }
-	
-	/**
-     * 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) {
-        if (!fListeners.contains(listener))
-            fListeners.add(listener);
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IPatternMatchListener#matchFound(org.eclipse.ui.console.PatternMatchEvent)
-     */
-    public void matchFound(PatternMatchEvent event) {
-        try  {
-            IDocument document = fConsole.getDocument();
-            int lineOfOffset = document.getLineOfOffset(event.getOffset());
-            String delimiter = document.getLineDelimiter(lineOfOffset);
-            int strip = delimiter==null ? 0 : delimiter.length();
-            Region region = new Region(event.getOffset(), event.getLength()-strip); 
-            lineAppended(region);
-        } catch (BadLocationException e) {}
-    }
-    
-    public void lineAppended(IRegion region) {
-        int size = fListeners.size();
-        for (int i=0; i<size; i++) {
-            IConsoleLineTracker tracker = (IConsoleLineTracker) fListeners.get(i);
-            tracker.lineAppended(region);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent event) {
-        if(event.getProperty().equals(IConsoleConstants.P_CONSOLE_OUTPUT_COMPLETE)) {
-            fConsole.removePropertyChangeListener(this);
-            consoleClosed();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IPatternMatchListener#getPattern()
-     */
-    public String getPattern() {
-        return ".*\\r(\\n?)|.*\\n"; //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IPatternMatchListener#getCompilerFlags()
-     */
-    public int getCompilerFlags() {
-        return 0;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IPatternMatchListener#getLineQualifier()
-     */
-    public String getLineQualifier() {
-        return "\\n|\\r"; //$NON-NLS-1$
-    }
-
-}
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 3b11be2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ConsoleMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.views.console.ConsoleMessages";//$NON-NLS-1$
-
-	public static String ConsoleRemoveAllTerminatedAction_0;
-	public static String ConsoleRemoveAllTerminatedAction_1;
-
-	public static String ConsoleTerminateAction_0;
-	public static String ConsoleTerminateAction_1;
-
-	public static String ProcessConsole_0;
-
-	public static String ProcessConsole_1;
-	public static String ProcessConsole_2;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ConsoleMessages.class);
-	}
-
-    public static String ConsoleRemoveTerminatedAction_0;
-
-    public static String ConsoleRemoveTerminatedAction_1;
-
-	public static String ConsoleShowPreferencesAction__run_debug_console;
-}
\ No newline at end of file
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 ed78c3a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ConsoleRemoveAllTerminatedAction_0=&Remove All Terminated
-ConsoleRemoveAllTerminatedAction_1=Remove All Terminated Launches
-ConsoleRemoveTerminatedAction_0=Remove Launch
-ConsoleRemoveTerminatedAction_1=Remove Launch
-
-ConsoleTerminateAction_0=&Terminate
-ConsoleTerminateAction_1=Terminate
-
-ProcessConsole_0=<terminated> {0}
-
-ProcessConsole_1=[Console output redirected to file:{0}]\n
-ProcessConsole_2=[Invalid file specified for console output: {0}]\n
-ConsoleShowPreferencesAction__run_debug_console=Run/Debug Console
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 3977dad..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchesListener2;
-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.actions.RemoveAllTerminatedAction;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * ConsoleRemoveAllTerminatedAction
- */
-public class ConsoleRemoveAllTerminatedAction extends Action implements IUpdate, ILaunchesListener2 {
-
-	public void dispose() {
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(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.ConsoleRemoveAllTerminatedAction_0); 
-		        PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.CONSOLE_REMOVE_ALL_TERMINATED);
-		setToolTipText(ConsoleMessages.ConsoleRemoveAllTerminatedAction_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().getLaunchManager().addLaunchListener(this);
-		update();
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
-     */
-    public void launchesRemoved(ILaunch[] launches) {
-       if (isEnabled()) {
-           update();
-       }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
-     */
-    public void launchesAdded(ILaunch[] launches) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
-     */
-    public void launchesChanged(ILaunch[] launches) {
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesTerminated(ILaunch[] launches) {
-		update();
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java
deleted file mode 100644
index dcd6847..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-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.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleView;
-
-/**
- * ConsoleRemoveTerminatedAction
- */
-public class ConsoleRemoveLaunchAction extends Action implements IViewActionDelegate, IConsoleListener, ILaunchesListener2 {
-
-    private ILaunch fLaunch;
-    
-    // only used when a view action delegate
-    private IConsoleView fConsoleView;
-
-    public ConsoleRemoveLaunchAction() {
-        super(ConsoleMessages.ConsoleRemoveTerminatedAction_0);
-        setToolTipText(ConsoleMessages.ConsoleRemoveTerminatedAction_1);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.CONSOLE_REMOVE_LAUNCH);
-        setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_REMOVE));
-        setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE));
-        setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE));
-        DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-        ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(this);
-    }
-    
-    public ConsoleRemoveLaunchAction(ILaunch launch) {
-    	this();
-        fLaunch = launch;
-        update();
-    }
-
-    public void dispose() {
-    	DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
-        ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
-    }
-
-    public synchronized void update() {
-    	ILaunch launch = getLaunch();
-    	if (launch != null) {
-    		setEnabled(launch.isTerminated());
-    	} else {
-    		setEnabled(false);
-    	}
-    }
-
-    public synchronized void run() {
-    	ILaunch launch = getLaunch();
-    	if (launch != null) {
-	        ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-	        launchManager.removeLaunch(launch);
-    	}
-    }
-
-    public void init(IViewPart view) {
-    	if (view instanceof IConsoleView) {
-			fConsoleView = (IConsoleView) view;			
-		}
-    	update();
-    }
-
-    public void run(IAction action) {
-        run();
-    }
-
-    public void selectionChanged(IAction action, ISelection selection) {
-    }
-
-    public void consolesAdded(IConsole[] consoles) {
-    }
-
-    public void consolesRemoved(IConsole[] consoles) {
-        update();
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesTerminated(ILaunch[] launches) {
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesRemoved(ILaunch[] launches) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesAdded(ILaunch[] launches) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesChanged(ILaunch[] launches) {
-	}
-	
-	protected ILaunch getLaunch() {
-		if (fConsoleView == null) {
-			return fLaunch;
-		}
-		// else get dynmically, as this action was created via plug-in XML view contribution
-		IConsole console = fConsoleView.getConsole();
-		if (console instanceof ProcessConsole) {
-			ProcessConsole pconsole = (ProcessConsole) console;
-			return pconsole.getProcess().getLaunch();
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java
deleted file mode 100644
index 74a190e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.ConsolePreferencePage;
-import org.eclipse.jface.action.Action;
-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.viewers.ISelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * ConsoleShowPreferencesAction Displays the Console's Preference page
- * 
- * @since 3.2
- */
-public class ConsoleShowPreferencesAction extends Action implements IViewActionDelegate {
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-     */
-    public void init(IViewPart view) {
-        // do nothing
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run(IAction action) {
-        IPreferencePage page = new ConsolePreferencePage();
-        page.setTitle(ConsoleMessages.ConsoleShowPreferencesAction__run_debug_console);
-        IPreferenceNode targetNode = new PreferenceNode("org.eclipse.debug.internal.ui.preferences.ConsolePreferencePage", page); //$NON-NLS-1$
-        PreferenceManager manager = new PreferenceManager();
-        manager.addToRoot(targetNode);
-        PreferenceDialog dialog = new PreferenceDialog(DebugUIPlugin.getShell(), manager);
-        dialog.create();
-        dialog.setMessage(page.getDescription());
-        dialog.open();
-    }
-
-    /*
-     * (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) {
-        // do nothing
-    }
-}
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 ef16bab..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-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.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.PlatformUI;
-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.ConsoleTerminateAction_0); 
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.CONSOLE_TERMINATE_ACTION);
-		fConsole = console;
-		setToolTipText(ConsoleMessages.ConsoleTerminateAction_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 {
-			IProcess process = fConsole.getProcess();
-            killTargets(process);
-            process.terminate();
-		} catch (DebugException e) {
-			// TODO: report exception
-		}
-	}
-	
-	private void killTargets(IProcess process) throws DebugException {
-        ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-        ILaunch[] launches = launchManager.getLaunches();
-
-        for (int i = 0; i < launches.length; i++) {
-            ILaunch launch = launches[i];
-            IProcess[] processes = launch.getProcesses();
-            for (int j = 0; j < processes.length; j++) {
-                IProcess process2 = processes[j];
-                if (process2.equals(process)) {
-                    IDebugTarget[] debugTargets = launch.getDebugTargets();
-                    for (int k = 0; k < debugTargets.length; k++) {
-                        IDebugTarget target = debugTargets[k];
-                        if (target.canTerminate()) {
-                            target.terminate();
-                        }
-                    }
-                    return; // all possible targets have been terminated for the launch.
-                }
-            }
-        }
-    }
-
-    public void dispose() {
-	    fConsole = null;
-	}
-
-}
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 0228a91..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
+++ /dev/null
@@ -1,823 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-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.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.core.sourcelookup.containers.LocalFileStorage;
-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.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.debug.ui.console.IConsoleLineTracker;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IHyperlink;
-import org.eclipse.ui.console.IOConsole;
-import org.eclipse.ui.console.IOConsoleInputStream;
-import org.eclipse.ui.console.IOConsoleOutputStream;
-import org.eclipse.ui.console.IPatternMatchListener;
-import org.eclipse.ui.console.PatternMatchEvent;
-import org.eclipse.ui.console.TextConsole;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * 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 IOConsole implements IConsole, IDebugEventSetListener, IPropertyChangeListener {
-    private IProcess fProcess = null;
-
-    private List fStreamListeners = new ArrayList();
-
-    private IConsoleColorProvider fColorProvider;
-
-    private IOConsoleInputStream fInput;
-
-    private FileOutputStream fFileOutputStream;
-
-    private boolean fAllocateConsole = true;
-
-    private boolean fStreamsClosed = false;
-
-    /**
-     * Proxy to a console document
-     */
-    public ProcessConsole(IProcess process, IConsoleColorProvider colorProvider) {
-        this(process, colorProvider, null);
-    }
-
-    public ProcessConsole(IProcess process, IConsoleColorProvider colorProvider, String encoding) {
-        super("", IDebugUIConstants.ID_PROCESS_CONSOLE_TYPE, null, encoding, true); //$NON-NLS-1$
-        fProcess = process;
-
-        ILaunchConfiguration configuration = process.getLaunch().getLaunchConfiguration();
-        String file = null;
-        boolean append = false;
-        if (configuration != null) {
-            try {
-                file = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String) null);
-                if (file != null) {
-                    IStringVariableManager stringVariableManager = VariablesPlugin.getDefault().getStringVariableManager();
-                    file = stringVariableManager.performStringSubstitution(file);
-                    append = configuration.getAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, false);
-                }
-            } catch (CoreException e) {
-            }
-        }
-
-        if (file != null) {
-            IWorkspace workspace = ResourcesPlugin.getWorkspace();
-            IWorkspaceRoot root = workspace.getRoot();
-            Path path = new Path(file);
-            IFile ifile = root.getFileForLocation(path);
-            String message = null;
-            
-            try {
-                String fileLoc = null;
-                if (ifile != null) {
-                    if (append && ifile.exists()) {
-                        ifile.appendContents(new ByteArrayInputStream(new byte[0]), true, true, new NullProgressMonitor());
-                    } else {
-                        if (ifile.exists()) {
-                            ifile.delete(true, new NullProgressMonitor());
-                        }
-                        ifile.create(new ByteArrayInputStream(new byte[0]), true, new NullProgressMonitor());
-                    }
-                }
-                
-                File outputFile = new File(file);
-                fFileOutputStream = new FileOutputStream(outputFile, append);
-                fileLoc = outputFile.getAbsolutePath();
-                
-                message = MessageFormat.format(ConsoleMessages.ProcessConsole_1, new String[] {fileLoc}); 
-                addPatternMatchListener(new ConsoleLogFilePatternMatcher(fileLoc));
-            } catch (FileNotFoundException e) {
-                message = MessageFormat.format(ConsoleMessages.ProcessConsole_2, new String[] {file}); 
-            } catch (CoreException e) {
-                DebugUIPlugin.log(e);
-            }
-            if (message != null) { 
-                try { 
-                    IOConsoleOutputStream stream = newOutputStream();                    
-                    stream.write(message);
-                    stream.close();
-                } catch (IOException e) {
-                    DebugUIPlugin.log(e);
-                }
-            }
-            try {
-                fAllocateConsole = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, true);
-            } catch (CoreException e) {
-            }
-        }
-
-        fColorProvider = colorProvider;
-        fInput = getInputStream();
-        colorProvider.connect(fProcess, this);
-
-        setName(computeName());
-
-        Color color = fColorProvider.getColor(IDebugUIConstants.ID_STANDARD_INPUT_STREAM);
-        fInput.setColor(color);
-
-        IConsoleLineTracker[] lineTrackers = DebugUIPlugin.getDefault().getProcessConsoleManager().getLineTrackers(process);
-        if (lineTrackers.length > 0) {
-            addPatternMatchListener(new ConsoleLineNotifier());
-        }
-    }
-
-    /**
-     * 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.ProcessConsole_0, new String[] { label }); 
-        }
-        return label;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent evt) {
-        String property = evt.getProperty();
-        IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-        if (property.equals(IDebugPreferenceConstants.CONSOLE_WRAP) || property.equals(IDebugPreferenceConstants.CONSOLE_WIDTH)) {
-            boolean fixedWidth = store.getBoolean(IDebugPreferenceConstants.CONSOLE_WRAP);
-            if (fixedWidth) {
-                int width = store.getInt(IDebugPreferenceConstants.CONSOLE_WIDTH);
-                setConsoleWidth(width);
-            } else {
-                setConsoleWidth(-1);
-            }
-        } else if (property.equals(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT) || property.equals(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK) || property.equals(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK)) {
-            boolean limitBufferSize = store.getBoolean(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT);
-            if (limitBufferSize) {
-                int highWater = store.getInt(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK);
-                int lowWater = store.getInt(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK);
-                if (highWater > lowWater) {
-                    setWaterMarks(lowWater, highWater);
-                }
-            } else {
-                setWaterMarks(-1, -1);
-            }
-        } else if (property.equals(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH)) {
-            int tabWidth = store.getInt(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH);
-            setTabWidth(tabWidth);
-        } else if (property.equals(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT)) {
-            boolean activateOnOut = store.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT);
-            IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM);
-            if (stream != null) {
-                stream.setActivateOnWrite(activateOnOut);
-            }
-        } else if (property.equals(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR)) {
-            boolean activateOnErr = store.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR);
-            IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_ERROR_STREAM);
-            if (stream != null) {
-                stream.setActivateOnWrite(activateOnErr);
-            }
-        } else if (property.equals(IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR)) {
-            IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM);
-            if (stream != null) {
-                stream.setColor(fColorProvider.getColor(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM));
-            }
-        } else if (property.equals(IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR)) {
-            IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_ERROR_STREAM);
-            if (stream != null) {
-                stream.setColor(fColorProvider.getColor(IDebugUIConstants.ID_STANDARD_ERROR_STREAM));
-            }
-        } else if (property.equals(IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR)) {
-            if (fInput != null) {
-                fInput.setColor(fColorProvider.getColor(IDebugUIConstants.ID_STANDARD_INPUT_STREAM));
-            }
-        } else if (property.equals(IDebugPreferenceConstants.CONSOLE_FONT)) {
-            setFont(JFaceResources.getFont(IDebugPreferenceConstants.CONSOLE_FONT));
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.console.IConsole#getStream(java.lang.String)
-     */
-    public IOConsoleOutputStream getStream(String streamIdentifier) {
-        for (Iterator i = fStreamListeners.iterator(); i.hasNext();) {
-            StreamListener listener = (StreamListener) i.next();
-            if (listener.fStreamId.equals(streamIdentifier)) {
-                return listener.fStream;
-            }
-        }
-        return null;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.console.IConsole#getProcess()
-     */
-    public IProcess getProcess() {
-        return fProcess;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.console.AbstractConsole#dispose()
-     */
-    protected void dispose() {
-        super.dispose();
-        fColorProvider.disconnect();
-        closeStreams();
-        disposeStreams();
-        DebugPlugin.getDefault().removeDebugEventListener(this);
-        DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-        JFaceResources.getFontRegistry().removeListener(this);
-    }
-
-    private synchronized void closeStreams() {
-        if (fStreamsClosed) {
-            return;
-        }
-        for (Iterator i = fStreamListeners.iterator(); i.hasNext();) {
-            StreamListener listener = (StreamListener) i.next();
-            listener.closeStream();
-        }
-        if (fFileOutputStream != null) {
-	        synchronized (fFileOutputStream) {
-	            try {
-	                fFileOutputStream.flush();
-	                fFileOutputStream.close();
-	            } catch (IOException e) {
-	            }
-	        }
-        }
-        try {
-            fInput.close();
-        } catch (IOException e) {
-        }
-        fStreamsClosed  = true;
-    }
-
-    private synchronized void disposeStreams() {
-        for (Iterator i = fStreamListeners.iterator(); i.hasNext();) {
-            StreamListener listener = (StreamListener) i.next();
-            listener.dispose();
-        }
-        fFileOutputStream = null;
-        fInput = null;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.console.AbstractConsole#init()
-     */
-    protected void init() {
-        super.init();
-        if (fProcess.isTerminated()) {
-            closeStreams();
-            resetName();
-        } else {
-            DebugPlugin.getDefault().addDebugEventListener(this);
-        }
-        IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-        store.addPropertyChangeListener(this);
-        JFaceResources.getFontRegistry().addListener(this);
-        if (store.getBoolean(IDebugPreferenceConstants.CONSOLE_WRAP)) {
-            setConsoleWidth(store.getInt(IDebugPreferenceConstants.CONSOLE_WIDTH));
-        }
-        setTabWidth(store.getInt(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH));
-
-        if (store.getBoolean(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT)) {
-            int highWater = store.getInt(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK);
-            int lowWater = store.getInt(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK);
-            setWaterMarks(lowWater, highWater);
-        }
-
-        DebugUIPlugin.getStandardDisplay().asyncExec(new Runnable() {
-            public void run() {
-                setFont(JFaceResources.getFont(IDebugPreferenceConstants.CONSOLE_FONT));
-            }
-        });
-    }
-
-    /**
-     * 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())) {
-
-                if (event.getKind() == DebugEvent.TERMINATE) {
-                    closeStreams();
-                    DebugPlugin.getDefault().removeDebugEventListener(this);
-                }
-
-                resetName();
-            }
-        }
-    }
-
-    private void resetName() {
-        final String newName = computeName();
-        String name = getName();
-        if (!name.equals(newName)) {
-            Runnable r = new Runnable() {
-                public void run() {
-                    setName(newName);
-                    warnOfContentChange();
-                }
-            };
-            DebugUIPlugin.getStandardDisplay().asyncExec(r);
-        }
-    }
-
-    private void warnOfContentChange() {
-        ConsolePlugin.getDefault().getConsoleManager().warnOfContentChange(DebugUITools.getConsole(fProcess));
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.console.IConsole#connect(org.eclipse.debug.core.model.IStreamsProxy)
-     */
-    public void connect(IStreamsProxy streamsProxy) {
-        IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-        IStreamMonitor streamMonitor = streamsProxy.getErrorStreamMonitor();
-        if (streamMonitor != null) {
-            connect(streamMonitor, IDebugUIConstants.ID_STANDARD_ERROR_STREAM);
-            IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_ERROR_STREAM);
-            if (stream != null) {
-                stream.setActivateOnWrite(store.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR));
-            }
-        }
-        streamMonitor = streamsProxy.getOutputStreamMonitor();
-        if (streamMonitor != null) {
-            connect(streamMonitor, IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM);
-            IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM);
-            if (stream != null) {
-                stream.setActivateOnWrite(store.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT));
-            }
-        }
-        InputReadJob readJob = new InputReadJob(streamsProxy);
-        readJob.setSystem(true);
-        readJob.schedule();
-    }
-
-    /*
-     * (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 streamIdentifier) {
-        IOConsoleOutputStream stream = null;
-        if (fAllocateConsole) {
-            stream = newOutputStream();
-            Color color = fColorProvider.getColor(streamIdentifier);
-            stream.setColor(color);
-        }
-
-        synchronized (streamMonitor) {
-            StreamListener listener = new StreamListener(streamIdentifier, streamMonitor, stream);
-            fStreamListeners.add(listener);
-        }
-
-    }
-
-    /*
-     * (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) {
-        try {
-            addHyperlink(link, offset, length);
-        } catch (BadLocationException e) {
-            DebugUIPlugin.log(e);
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.console.IConsole#addLink(org.eclipse.ui.console.IHyperlink,
-     *      int, int)
-     */
-    public void addLink(IHyperlink link, int offset, int length) {
-        try {
-            addHyperlink(link, offset, length);
-        } catch (BadLocationException e) {
-            DebugUIPlugin.log(e);
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.debug.ui.console.IConsole#getRegion(org.eclipse.debug.ui.console.IConsoleHyperlink)
-     */
-    public IRegion getRegion(IConsoleHyperlink link) {
-        return super.getRegion(link);
-    }
-
-    private class StreamListener implements IStreamListener {
-
-        private IOConsoleOutputStream fStream;
-
-        private IStreamMonitor fStreamMonitor;
-
-        private String fStreamId;
-
-        private boolean fFlushed = false;
-
-        private boolean fListenerRemoved = false;
-
-        public StreamListener(String streamIdentifier, IStreamMonitor monitor, IOConsoleOutputStream stream) {
-            this.fStreamId = streamIdentifier;
-            this.fStreamMonitor = monitor;
-            this.fStream = stream;
-            fStreamMonitor.addListener(this);
-            
-            //fix to bug 121454. Ensure that output to fast processes is processed.
-            streamAppended(null, monitor);
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.debug.core.IStreamListener#streamAppended(java.lang.String,
-         *      org.eclipse.debug.core.model.IStreamMonitor)
-         */
-        public void streamAppended(String text, IStreamMonitor monitor) {
-            if (fFlushed) {
-                try {
-                    if (fStream != null) {
-                        fStream.write(text);
-                    }
-                    if (fFileOutputStream != null) {
-                        synchronized (fFileOutputStream) {
-                            fFileOutputStream.write(text.getBytes());
-                        }
-                    }
-                } catch (IOException e) {
-                    DebugUIPlugin.log(e);
-                }
-            } else {
-                String contents = null;
-                synchronized (fStreamMonitor) {
-                    fFlushed = true;
-                    contents = fStreamMonitor.getContents();
-                    if (fStreamMonitor instanceof IFlushableStreamMonitor) {
-                        IFlushableStreamMonitor m = (IFlushableStreamMonitor) fStreamMonitor;
-                        m.flushContents();
-                        m.setBuffered(false);
-                    }
-                }
-                try {
-                    if (contents != null && contents.length() > 0) {
-                        if (fStream != null) {
-                            fStream.write(contents);
-                        }
-                        if (fFileOutputStream != null) {
-                            synchronized (fFileOutputStream) {
-                                fFileOutputStream.write(contents.getBytes());
-                            }
-                        }
-                    }
-                } catch (IOException e) {
-                    DebugUIPlugin.log(e);
-                }
-            }
-        }
-
-        public IStreamMonitor getStreamMonitor() {
-            return fStreamMonitor;
-        }
-
-        public void closeStream() {
-            if (fStreamMonitor == null) {
-                return;
-            }
-            synchronized (fStreamMonitor) {
-                fStreamMonitor.removeListener(this);
-                if (!fFlushed) {
-                    String contents = fStreamMonitor.getContents();
-                    streamAppended(contents, fStreamMonitor);
-                }
-                fListenerRemoved = true;
-                try {
-                    if (fStream != null) {
-                        fStream.close();
-                    }
-                } catch (IOException e) {
-                }
-            }
-        }
-
-        public void dispose() {
-            if (!fListenerRemoved) {
-                closeStream();
-            }
-            fStream = null;
-            fStreamMonitor = null;
-            fStreamId = null;
-        }
-    }
-
-    private class InputReadJob extends Job {
-
-        private IStreamsProxy streamsProxy;
-
-        InputReadJob(IStreamsProxy streamsProxy) {
-            super("Process Console Input Job"); //$NON-NLS-1$
-            this.streamsProxy = streamsProxy;
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-         */
-        protected IStatus run(IProgressMonitor monitor) {
-            try {
-                byte[] b = new byte[1024];
-                int read = 0;
-                while (read >= 0) {
-                    read = fInput.read(b);
-                    if (read > 0) {
-                        String s = new String(b, 0, read);
-                        streamsProxy.write(s);
-                    }
-                }
-            } catch (IOException e) {
-                DebugUIPlugin.log(e);
-            }
-            return Status.OK_STATUS;
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.console.IConsole#getImageDescriptor()
-     */
-    public ImageDescriptor getImageDescriptor() {
-        if (super.getImageDescriptor() == null) {
-            setImageDescriptor(computeImageDescriptor());
-        }
-        return super.getImageDescriptor();
-    }
-
-    private class ConsoleLogFilePatternMatcher implements IPatternMatchListener {
-        String fFilePath;
-
-        public ConsoleLogFilePatternMatcher(String filePath) {
-            fFilePath = escape(filePath);
-        }
-        
-    	private String escape(String path) {
-    		StringBuffer buffer = new StringBuffer(path);
-    		int index = buffer.indexOf("\\"); //$NON-NLS-1$
-    		while (index >= 0) {
-    			buffer.insert(index, '\\');
-    			index = buffer.indexOf("\\", index+2); //$NON-NLS-1$
-    		}
-    		return buffer.toString();
-    	}
-    	
-        public String getPattern() {
-            return fFilePath;
-        }
-
-        public void matchFound(PatternMatchEvent event) {
-            try {
-                addHyperlink(new ConsoleLogFileHyperlink(fFilePath), event.getOffset(), event.getLength());
-                removePatternMatchListener(this);
-            } catch (BadLocationException e) {
-            }
-        }
-
-        public int getCompilerFlags() {
-            return 0;
-        }
-
-        public String getLineQualifier() {
-            return null;
-        }
-
-        public void connect(TextConsole console) {
-        }
-
-        public void disconnect() {
-        }
-    }
-
-    private class ConsoleLogFileHyperlink implements IHyperlink {
-        String fFilePath;
-        ConsoleLogFileHyperlink(String filePath) {
-            fFilePath = filePath;
-        }
-        
-        public void linkActivated() {
-            IEditorInput input;
-            Path path = new Path(fFilePath);
-            IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-            IFile ifile = root.getFileForLocation(path);
-            if (ifile == null) { // The file is not in the workspace
-                File file = new File(fFilePath);
-                LocalFileStorage lfs = new LocalFileStorage(file);
-                input = new StorageEditorInput(lfs, file);
-
-            } else {
-                input = new FileEditorInput(ifile);
-            }
-            
-            IWorkbenchPage activePage = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage();
-            try {
-                activePage.openEditor(input, EditorsUI.DEFAULT_TEXT_EDITOR_ID, true);
-            } catch (PartInitException e) {
-            }
-        }
-        public void linkEntered() {
-        }
-        public void linkExited() {
-        }
-    }
-    
-    class StorageEditorInput extends PlatformObject implements IStorageEditorInput {
-        private File fFile;
-        private IStorage fStorage;
-        
-        public StorageEditorInput(IStorage storage, File file) {
-            fStorage = storage;
-            fFile = file;
-        }
-        
-        public IStorage getStorage() {
-            return fStorage;
-        }
-
-        public ImageDescriptor getImageDescriptor() {
-            return null;
-        }
-
-        public String getName() {
-            return getStorage().getName();
-        }
-
-        public IPersistableElement getPersistable() {
-            return null;
-        }
-
-        public String getToolTipText() {
-            return getStorage().getFullPath().toOSString();
-        }
-        
-        public boolean equals(Object object) {
-            return object instanceof StorageEditorInput &&
-             getStorage().equals(((StorageEditorInput)object).getStorage());
-        }
-        
-        public int hashCode() {
-            return getStorage().hashCode();
-        }
-
-        public boolean exists() {
-            return fFile.exists();
-        }
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.AbstractConsole#getHelpContextId()
-	 */
-	public String getHelpContextId() {
-		return IDebugHelpContextIds.PROCESS_CONSOLE;
-	}
-    
-    
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
deleted file mode 100644
index 69f3a6b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import com.ibm.icu.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.ILaunchConfiguration;
-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.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.console.ConsoleColorProvider;
-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;
-
-/**
- * Creates documents for processes as they are registered with a launch.
- * The singleton manager is accessible from the debug UI plugin.
- */
-public class ProcessConsoleManager implements ILaunchListener {
-    
-    /**
-     * Console document content provider extensions, keyed by extension id
-     */
-    private Map fColorProviders;
-    
-    /**
-     * The default color provider. Used if no color provider is contributed
-     * for the given process type.
-     */
-    private IConsoleColorProvider fDefaultColorProvider;
-    
-    /**
-     * Console line trackers; keyed by process type to list of trackers (1:N) 
-     */
-    private Map fLineTrackers;
-    
-    /**
-     * 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});
-        }
-    }
-    
-    /**
-     * 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) {
-        IProcess[] processes= launch.getProcesses();
-        for (int i= 0; i < processes.length; i++) {
-            if (getConsoleDocument(processes[i]) == null) {
-                IProcess process = processes[i];
-                if (process.getStreamsProxy() == null) {
-                    continue;
-                }
-                ILaunchConfiguration launchConfiguration = launch.getLaunchConfiguration();
-
-                //create a new console.
-                IConsoleColorProvider colorProvider = getColorProvider(process.getAttribute(IProcess.ATTR_PROCESS_TYPE));
-                String encoding = null;
-                try {
-                    if (launchConfiguration != null) {
-                        encoding = launchConfiguration.getAttribute(IDebugUIConstants.ATTR_CONSOLE_ENCODING, (String)null);
-                    }
-                } catch (CoreException e) {
-                }
-                ProcessConsole pc = new ProcessConsole(process, colorProvider, encoding);
-                pc.setAttribute(IDebugUIConstants.ATTR_CONSOLE_PROCESS, process);
-
-                //add new console to console manager.
-                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) {
-        ProcessConsole console = (ProcessConsole) getConsole(process);
-        return (console != null ? console.getDocument() : null);
-    } 
-    
-    /**
-     * 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();
-        }
-    }
-          
-    /**
-     * 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(
-                		"Extension {0} must specify an instanceof IConsoleColorProvider for class attribute.", //$NON-NLS-1$
-                		new String[]{extension.getDeclaringExtension().getUniqueIdentifier()}));
-            } catch (CoreException e) {
-                DebugUIPlugin.log(e);
-            }
-        }
-        //no color provider found of specified type, return default color provider.
-        if (fDefaultColorProvider == null) {
-            fDefaultColorProvider = new ConsoleColorProvider();
-        }
-        return fDefaultColorProvider;
-    } 
-    
-    /**
-     * Returns the Line Trackers for a given process type.
-     * @param process The process for which line trackers are required.
-     * @return An array of line trackers which match the given process type.
-     */
-    public IConsoleLineTracker[] getLineTrackers(IProcess process) {
-        String type = process.getAttribute(IProcess.ATTR_PROCESS_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);
-            }
-        }
-        
-        ArrayList trackers = new ArrayList();
-        if (type != null) {
-            List lineTrackerExtensions = (List) fLineTrackers.get(type);
-            if(lineTrackerExtensions != null) {   
-                for(Iterator i = lineTrackerExtensions.iterator(); i.hasNext(); ) {
-                    IConfigurationElement element = (IConfigurationElement) i.next();
-                    try {
-                        trackers.add(element.createExecutableExtension("class")); //$NON-NLS-1$
-                    } catch (CoreException e) {
-                        DebugUIPlugin.log(e);
-                    }
-                }
-            }
-        }
-        return (IConsoleLineTracker[]) trackers.toArray(new IConsoleLineTracker[0]);
-    }
-    
-    /**
-     * 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/ProcessConsolePageParticipant.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java
deleted file mode 100644
index e83766b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import java.io.IOException;
-import java.util.Map;
-
-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.core.model.IStreamsProxy;
-import org.eclipse.debug.core.model.IStreamsProxy2;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-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.IWorkbenchCommandSupport;
-import org.eclipse.ui.commands.Priority;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsolePageParticipant;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.contexts.EnabledSubmission;
-import org.eclipse.ui.contexts.IWorkbenchContextSupport;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.ShowInContext;
-
-/**
- * Creates and manages process console specific actions
- * 
- * @since 3.1
- */
-public class ProcessConsolePageParticipant implements IConsolePageParticipant, IShowInSource, IShowInTargetList, IDebugEventSetListener, IDebugContextListener {
-	
-	// actions
-	private ConsoleTerminateAction fTerminate;
-    private ConsoleRemoveLaunchAction fRemoveTerminated;
-	private ConsoleRemoveAllTerminatedAction fRemoveAllTerminated;
-
-    private ProcessConsole fConsole;
-
-    private IPageBookViewPage fPage;
-
-    private IConsoleView fView;
-    
-    private EOFHandler fEOFHandler;
-    private EnabledSubmission fEnabledSubmission;
-    private HandlerSubmission fHandlerSubmission;
-	/**
-	 * Handler to send EOF
-	 */	
-	private class EOFHandler extends AbstractHandler {
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.commands.IHandler#execute(java.lang.Object)
-		 */
-		public Object execute(Map parameter) throws ExecutionException {
-            IStreamsProxy proxy = getProcess().getStreamsProxy();
-            if (proxy instanceof IStreamsProxy2) {
-                IStreamsProxy2 proxy2 = (IStreamsProxy2) proxy;
-                try {
-                    proxy2.closeInputStream();
-                } catch (IOException e1) {
-                }
-            }
-			return null;
-		}
-		
-	}    
-    		
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsolePageParticipant#init(IPageBookViewPage, IConsole)
-     */
-    public void init(IPageBookViewPage page, IConsole console) {
-        fPage = page;
-        fConsole = (ProcessConsole) console;
-        
-        fRemoveTerminated = new ConsoleRemoveLaunchAction(fConsole.getProcess().getLaunch());
-        fRemoveAllTerminated = new ConsoleRemoveAllTerminatedAction();
-        fTerminate = new ConsoleTerminateAction(fConsole);
-        
-        fView = (IConsoleView) fPage.getSite().getPage().findView(IConsoleConstants.ID_CONSOLE_VIEW);
-        
-        DebugPlugin.getDefault().addDebugEventListener(this);
-        DebugContextManager.getDefault().addDebugContextListener(this, fPage.getSite().getWorkbenchWindow());
-        
-        // contribute to toolbar
-        IActionBars actionBars = fPage.getSite().getActionBars();
-        configureToolBar(actionBars.getToolBarManager());
-        
-        // create handler and submissions for EOF
-        fEOFHandler = new EOFHandler();
-        fEnabledSubmission = new EnabledSubmission(IConsoleConstants.ID_CONSOLE_VIEW, page.getSite().getShell(), null, "org.eclipse.debug.ui.console"); //$NON-NLS-1$
-        fHandlerSubmission = new HandlerSubmission(IConsoleConstants.ID_CONSOLE_VIEW, page.getSite().getShell(), null, "org.eclipse.debug.ui.commands.eof", fEOFHandler, Priority.MEDIUM); //$NON-NLS-1$
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsolePageParticipant#dispose()
-     */
-    public void dispose() {
-        deactivated();
-        DebugContextManager.getDefault().removeDebugContextListener(this, fPage.getSite().getWorkbenchWindow());
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-        if (fRemoveTerminated != null) {
-            fRemoveTerminated.dispose();
-            fRemoveTerminated = null;
-        }
-		if (fRemoveAllTerminated != null) {
-			fRemoveAllTerminated.dispose();
-			fRemoveAllTerminated = null;
-		}
-		if (fTerminate != null) {
-		    fTerminate.dispose();
-		    fTerminate = null;
-		}
-		fConsole = null;
-    }
-
-    /**
-     * Contribute actions to the toolbar
-     */
-    protected void configureToolBar(IToolBarManager mgr) {
-		mgr.appendToGroup(IConsoleConstants.LAUNCH_GROUP, fTerminate);
-        mgr.appendToGroup(IConsoleConstants.LAUNCH_GROUP, fRemoveTerminated);
-		mgr.appendToGroup(IConsoleConstants.LAUNCH_GROUP, fRemoveAllTerminated);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class required) {
-        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;
-        } 
-        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};
-    }
-
-    /* (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().equals(getProcess())) {
-                Runnable r = new Runnable() {
-                    public void run() {
-                        if (fTerminate != null) {
-                            fTerminate.update();
-                        }
-                    }
-                };
-                
-                DebugUIPlugin.getStandardDisplay().asyncExec(r);           
-            }
-        }
-    }
-    
-    protected IProcess getProcess() {
-        return fConsole != null ? fConsole.getProcess() : null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextActivated(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-     */
-    public void contextActivated(ISelection selection, IWorkbenchPart part) {
-    	if (fView != null && getProcess().equals(DebugUITools.getCurrentProcess())) {
-            fView.display(fConsole);
-        }
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {
-	}
-
-	/* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsolePageParticipant#activated()
-     */
-    public void activated() {
-        // add EOF submissions
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchCommandSupport commandSupport = workbench.getCommandSupport();
-		IWorkbenchContextSupport contextSupport = workbench.getContextSupport();
-		contextSupport.addEnabledSubmission(fEnabledSubmission);
-		commandSupport.addHandlerSubmission(fHandlerSubmission);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsolePageParticipant#deactivated()
-     */
-    public void deactivated() {
-        // remove EOF submissions
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchCommandSupport commandSupport = workbench.getCommandSupport();
-		IWorkbenchContextSupport contextSupport = workbench.getContextSupport();
-		commandSupport.removeHandlerSubmission(fHandlerSubmission);
-		contextSupport.removeEnabledSubmission(fEnabledSubmission);
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java
deleted file mode 100644
index a525977..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.console.TextConsole;
-
-/**
- * Tests if a process type matches the expected value.
- * 
- * @since 3.1
- */
-public class ProcessTypePropertyTester 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 (receiver instanceof TextConsole) {
-            TextConsole console = (TextConsole) receiver;
-            IProcess process = (IProcess) console.getAttribute(IDebugUIConstants.ATTR_CONSOLE_PROCESS);
-            if (process != null) {
-                String type = process.getAttribute(IProcess.ATTR_PROCESS_TYPE);
-                return (type != null && type.equals(expectedValue));
-            }//end if
-        }//end if
-        return false;
-    }//end test
-
-}//end class
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 ce977d9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.expression;
-
- 
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IDebugElement;
-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.AvailableLogicalStructuresAction;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewMessages;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewer;
-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.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
- 
-/**
- * Displays expressions and their values with a detail
- * area.
- */
-public class ExpressionView extends VariablesView {
-	
-	private AbstractViewerState fState;
-	
-	/**
-	 * @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(FIND_ELEMENT));
-		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(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	public void contextActivated(ISelection selection, IWorkbenchPart part) {
-		if (!isVisible()) {
-			return;
-		}
-		// update actions
-		updateAction("ContentAssist"); //$NON-NLS-1$
-	}
-
-	/* (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.ExpressionView_4; 
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		super.createActions();
-		setInitialContent();
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#restoreState()
-     */
-    protected void restoreState() {
-    	if (fState != null) {
-    		fState.restoreState(getVariablesViewer());
-    	}
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		fState = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#becomesHidden()
-	 */
-	protected void becomesHidden() {
-		fState = getViewerState();
-		super.becomesHidden();
-		getViewer().setInput(null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#becomesVisible()
-	 */
-	protected void becomesVisible() {
-		super.becomesVisible();
-		setInitialContent();
-		restoreState();
-	}
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#createVariablesViewer(org.eclipse.swt.widgets.Composite)
-	 */
-	protected VariablesViewer createVariablesViewer(Composite parent) {
-		return new VariablesViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.VIRTUAL, this);
-	}	
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java
deleted file mode 100644
index ecd5be6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.core.IExpressionManager;
-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.IExpression;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IRegisterGroup;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISourceDisplayAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.DebugTargetContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.ExpressionContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.ExpressionLabelAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.ExpressionManagerContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.LauchManagerContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.LaunchContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.MemoryBlockContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.MemoryBlockLabelAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.MemoryRetrievalContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.MemorySegmentLabelAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.ProcessContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.RegisterGroupContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.StackFrameContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.StackFrameSourceDisplayAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.ThreadContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.VariableColumnFactoryAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.VariableContentAdapter;
-import org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousLabelAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnEditorFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentationFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelProxyFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelSelectionPolicyFactoryAdapter;
-import org.eclipse.debug.internal.ui.viewers.update.DefaultModelProxyFactory;
-import org.eclipse.debug.internal.ui.viewers.update.DefaultModelSelectionPolicyFactory;
-import org.eclipse.debug.internal.ui.views.memory.renderings.MemorySegment;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter2;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-
-/**
- * DebugElementAdapterFactory
- */
-public class DebugElementAdapterFactory implements IAdapterFactory {
-	
-	private static IModelProxyFactoryAdapter fgModelProxyFactoryAdapter = new DefaultModelProxyFactory();
-	private static ISourceDisplayAdapter fgStackFrameSourceDisplayAdapter = new StackFrameSourceDisplayAdapter();
-	private static IModelSelectionPolicyFactoryAdapter fgModelSelectionPolicyFactoryAdapter = new DefaultModelSelectionPolicyFactory();
-    
-    private static IAsynchronousLabelAdapter fgDebugLabelAdapter = new AsynchronousDebugLabelAdapter();
-    private static IAsynchronousLabelAdapter fgVariableLabelAdapter = new VariableLabelAdapter();
-    private static IAsynchronousLabelAdapter fgExpressionLabelAdapter = new ExpressionLabelAdapter();
-    private static IAsynchronousLabelAdapter fgMemoryBlockLabelAdapter = new MemoryBlockLabelAdapter();
-    private static IAsynchronousLabelAdapter fgTableRenderingLineLabelAdapter = new MemorySegmentLabelAdapter();
-    
-    private static IAsynchronousContentAdapter fgAsyncLaunchManager = new LauchManagerContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncLaunch = new LaunchContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncTarget = new DebugTargetContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncProcess = new ProcessContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncThread = new ThreadContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncFrame = new StackFrameContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncVariable = new VariableContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncRegisterGroup = new RegisterGroupContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncExpressionManager = new ExpressionManagerContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncExpression = new ExpressionContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncMemoryRetrieval = new MemoryRetrievalContentAdapter();
-    private static IAsynchronousContentAdapter fgAsyncMemoryBlock = new MemoryBlockContentAdapter();
-    
-    private static IColumnPresentationFactoryAdapter fgVariableColumnFactory = new VariableColumnFactoryAdapter();
-    
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-     */
-    public Object getAdapter(Object adaptableObject, Class adapterType) {
-        if (adapterType.isInstance(adaptableObject)) {
-			return adaptableObject;
-		}
-        
-        if (adapterType.equals(IAsynchronousContentAdapter.class)) {
-            if (adaptableObject instanceof ILaunchManager) {
-                return fgAsyncLaunchManager;
-            }
-            if (adaptableObject instanceof ILaunch) {
-                return fgAsyncLaunch;
-            }
-            if (adaptableObject instanceof IDebugTarget) {
-                return fgAsyncTarget;
-            }
-            if (adaptableObject instanceof IMemoryBlockRetrieval) {
-            	return fgAsyncMemoryRetrieval;
-            }
-            if (adaptableObject instanceof IMemoryBlock) {
-            	return fgAsyncMemoryBlock;
-            }
-            if (adaptableObject instanceof IProcess) {
-                return fgAsyncProcess;
-            }
-            if (adaptableObject instanceof IThread) {
-                return fgAsyncThread;
-            }
-            if (adaptableObject instanceof IStackFrame) {
-                return fgAsyncFrame;
-            }
-            if (adaptableObject instanceof IVariable) {
-                return fgAsyncVariable;
-            }
-            if (adaptableObject instanceof IRegisterGroup) {
-            		return fgAsyncRegisterGroup;
-            }
-            if (adaptableObject instanceof IExpressionManager) {
-            	return fgAsyncExpressionManager;
-            }
-            if (adaptableObject instanceof IExpression) {
-            	return fgAsyncExpression;
-            }
-        }
-        
-        if (adapterType.equals(IAsynchronousLabelAdapter.class)) {
-            if (adaptableObject instanceof IExpression) {
-                return fgExpressionLabelAdapter;
-            }
-            if (adaptableObject instanceof IVariable) {
-                return fgVariableLabelAdapter;
-            }
-        	if (adaptableObject instanceof IMemoryBlock) {
-        		return fgMemoryBlockLabelAdapter;
-        	}
-        	
-        	if (adaptableObject instanceof MemorySegment) {
-        		return fgTableRenderingLineLabelAdapter;
-        	}
-        	
-        	return fgDebugLabelAdapter;
-        }
-        
-        if (adapterType.equals(IModelProxyFactoryAdapter.class)) {
-        	if (adaptableObject instanceof IDebugTarget ||
-        			adaptableObject instanceof IProcess || adaptableObject instanceof ILaunchManager ||
-        			adaptableObject instanceof IStackFrame || adaptableObject instanceof IExpressionManager ||
-        			adaptableObject instanceof IExpression || adaptableObject instanceof IMemoryBlockRetrieval ||
-        			adaptableObject instanceof IMemoryBlock)
-        	return fgModelProxyFactoryAdapter;
-        }
-        
-        if (adapterType.equals(ISourceDisplayAdapter.class)) {
-        	if (adaptableObject instanceof IStackFrame) {
-        		return fgStackFrameSourceDisplayAdapter;
-        	}
-        }
-        
-        if (adapterType.equals(IModelSelectionPolicyFactoryAdapter.class)) {
-        	if (adaptableObject instanceof IDebugElement) {
-        		return fgModelSelectionPolicyFactoryAdapter;
-        	}
-        }
-        
-        if (adapterType.equals(IColumnPresentationFactoryAdapter.class)) {
-        	if (adaptableObject instanceof IStackFrame) {
-        		return fgVariableColumnFactory;
-        	}
-        }
-        
-        if (adapterType.equals(IColumnEditorFactoryAdapter.class)) {
-        	if (adaptableObject instanceof IVariable) {
-        		return fgVariableColumnFactory;
-        	}
-        }        
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-     */
-    public Class[] getAdapterList() {
-        return new Class[] {IWorkbenchAdapter.class, IWorkbenchAdapter2.class, IDeferredWorkbenchAdapter.class, IAsynchronousLabelAdapter.class, IAsynchronousContentAdapter.class,
-        		IModelProxyFactoryAdapter.class, ISourceDisplayAdapter.class, IModelSelectionPolicyFactoryAdapter.class, IColumnPresentationFactoryAdapter.class, IColumnEditorFactoryAdapter.class};
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java
deleted file mode 100644
index 5a07218..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Translates images, colors, and fonts into image descriptors, RGBs, and font
- * datas for workbench adapaters. Also provides labels. 
- * 
- * @since 3.1
- */
-public class DebugElementHelper {
-    
-    // a model presentation that can provide images & labels for debug elements
-    private static DelegatingModelPresentation fgPresenetation;
-    
-    // map of images to image descriptors
-    private static Map fgImages = new HashMap();
-    
-    /**
-     * Disposes this adapater
-     */
-    public static void dispose() {
-        fgImages.clear();
-        if (fgPresenetation != null) {
-            fgPresenetation.dispose();
-            fgPresenetation = null;
-        }
-    }
-    
-    
-    public static boolean isInitialized(Object object) {
-    	DelegatingModelPresentation presentation = getPresentation();
-    	return presentation.isInitialized(object);
-    }
-
-    /**
-     * Returns an image descriptor for the given debug element.
-     * 
-     * @param object object for which an image descriptor is required
-     */
-    public static ImageDescriptor getImageDescriptor(Object object) {
-        Image image = getPresentation().getImage(object);
-        return getImageDescriptor(image);
-    }
-    
-    public static ImageDescriptor getImageDescriptor(Image image)
-    {
-    	if (image != null) {
-            ImageDescriptor descriptor = (ImageDescriptor) fgImages.get(image);
-            if (descriptor == null) {
-                descriptor = new ImageImageDescriptor(image);
-                fgImages.put(image, descriptor);
-            }
-            return descriptor;
-        }
-    	return null;
-    }
-
-    /**
-     * Returns a label for the given debug element.
-     * 
-     * @param o object for which a label is required
-     */
-    public static String getLabel(Object o) {
-        return getPresentation().getText(o);
-    }
-    
-    /**
-     * Returns a model presentation to use to retrieve lables & images.
-     * 
-     * @return a model presentation to use to retrieve lables & images
-     */
-    public static DelegatingModelPresentation getPresentation() {
-        if (fgPresenetation == null) {
-            fgPresenetation = new DelegatingModelPresentation();
-        }
-        return fgPresenetation;
-    }
-
-    /**
-     * Returns the RGB of the foreground color for the given element, or
-     * <code>null</code> if none.
-     * 
-     * @param element object for which a foreground color is required
-     * @return the RGB of the foreground color for the given element, or
-     * <code>null</code> if none
-     */
-    public static RGB getForeground(Object element) {
-        Color color = getPresentation().getForeground(element);
-        if (color != null) {
-            return color.getRGB();
-        }
-        return null;
-    }
-
-    /**
-     * Returns the RGB of the background color for the given element, or
-     * <code>null</code> if none.
-     * 
-     * @param element object for which a background color is required
-     * @return the RGB of the background color for the given element, or
-     * <code>null</code> if none
-     */
-    public static RGB getBackground(Object element) {
-        Color color = getPresentation().getBackground(element);
-        if (color != null) {
-            return color.getRGB();
-        }
-        return null;
-    }
-
-    /**
-     * Returns the font data for the given element, or
-     * <code>null</code> if none.
-     * 
-     * @param element object for which font data is required
-     * @return the font data for the given element, or
-     * <code>null</code> if none
-     */
-    public static FontData getFont(Object element) {
-        Font font = getPresentation().getFont(element);
-        if (font != null) {
-            return font.getFontData()[0];
-        }
-        return null;
-    }
-}
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 d51dfac..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 a387a19..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-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) {
-        synchronized (fDecorations) {
-            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) {
-    	doRemoveDecorations(target, null);
-    }
-    
-    /**
-     * Removes any decorations for the given thread
-     * 
-     * @param thread
-     *            thread to remove decorations for
-     */
-    public static void removeDecorations(IThread thread) {
-    	doRemoveDecorations(thread.getDebugTarget(), thread);
-    }
-
-	private static void doRemoveDecorations(IDebugTarget target, IThread thread) {
-		ArrayList decorationsToRemove = new ArrayList();
-        synchronized (fDecorations) {
-            List list = (List) fDecorations.get(target);
-            if (list != null) {
-                ListIterator iterator = list.listIterator();
-                while (iterator.hasNext()) {
-                    Decoration decoration = (Decoration) iterator.next();
-                    if (thread == null || thread.equals(decoration.getThread())) {
-	                    decorationsToRemove.add(decoration);
-	                    iterator.remove();
-                    }
-                }
-            }
-        }
-        Iterator iter = decorationsToRemove.iterator();
-        while (iter.hasNext())
-        {
-        	Decoration decoration = (Decoration)iter.next();
-        	decoration.remove();
-        }
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java
deleted file mode 100644
index 57f8fb6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-
-/**
- * Image descriptor for an image.
- */
-public class ImageImageDescriptor extends ImageDescriptor {
-	private Image fImage;
-
-	/**
-	 * Constructor for ImagImageDescriptor.
-	 */
-	public ImageImageDescriptor(Image image) {
-		super();
-		fImage= image;
-	}
-
-	/* (non-Javadoc)
-	 * @see ImageDescriptor#getImageData()
-	 */
-	public ImageData getImageData() {
-		return fImage.getImageData();
-	}
-
-	/* (non-Javadoc)
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		return (obj != null) && getClass().equals(obj.getClass()) && fImage.equals(((ImageImageDescriptor)obj).fImage);
-	}
-
-	/* (non-Javadoc)
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return fImage.hashCode();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchTreeModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchTreeModel.java
deleted file mode 100644
index f0efde7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchTreeModel.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeModel;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-import org.eclipse.ui.progress.IElementCollector;
-import org.osgi.framework.Bundle;
-
-/**
- * Must provide access to legacy workbench and deferred workbench content
- * adapters.
- *
- */
-public class LaunchTreeModel extends AsynchronousTreeModel {
-
-    public LaunchTreeModel(AsynchronousTreeViewer viewer) {
-        super(viewer);
-    }
-
-    protected IAsynchronousContentAdapter getContentAdapter(Object element) {
-        IAsynchronousContentAdapter contentAdapter = super.getContentAdapter(element);
-        if (contentAdapter != null) {
-            return contentAdapter;
-        }
-        
-        AsynchronousContentAdapter legacyAdapter = getLegacyAdapter(element);
-        if (legacyAdapter != null) {
-            return legacyAdapter;
-        }
-        
-        return null;
-    }
-
-    /**
-     * Returns a wrapper to the legacy workbench adapter if supported by the given object.
-     * 
-     * @param element
-     * @return
-     */
-    private AsynchronousContentAdapter getLegacyAdapter(Object element) {
-        if (element instanceof IDeferredWorkbenchAdapter) {
-            return new WrappedDeferredWorkbenchTreeAdapter((IDeferredWorkbenchAdapter) element, element);
-        }
-
-        if (!(element instanceof IAdaptable)) {
-            return null;
-        }
-
-        IAdaptable adaptable = (IAdaptable) element;
-        IDeferredWorkbenchAdapter deferred = (IDeferredWorkbenchAdapter) adaptable.getAdapter(IDeferredWorkbenchAdapter.class);
-        if (deferred != null) {
-            DebugUIPlugin plugin = DebugUIPlugin.getDefault();
-            Bundle bundle = plugin.getBundle(deferred.getClass());
-            Bundle debugBundle = plugin.getBundle();
-            if (!debugBundle.equals(bundle)) {
-                // if client contributed, use it
-                return new WrappedDeferredWorkbenchTreeAdapter(deferred, element);
-            }
-        }
-        // if the client provided an IWorkbenchAdapter, use it
-        IWorkbenchAdapter nonDeferred = (IWorkbenchAdapter) adaptable.getAdapter(IWorkbenchAdapter.class);
-        if (nonDeferred != null) {
-            DebugUIPlugin plugin = DebugUIPlugin.getDefault();
-            Bundle bundle = plugin.getBundle(nonDeferred.getClass());
-            Bundle debugBundle = plugin.getBundle();
-            bundle = plugin.getBundle(nonDeferred.getClass());
-            if (!debugBundle.equals(bundle)) {
-                return new WrappedWorkbenchTreeAdapter(nonDeferred);
-            }
-        }       
-        return null;
-    }
-
-    private class ElementCollector implements IElementCollector {
-        List children = new ArrayList();
-
-        public void add(Object element, IProgressMonitor monitor) {
-            children.add(element);
-        }
-
-        public void add(Object[] elements, IProgressMonitor monitor) {
-            for (int i = 0; i < elements.length; i++) {
-                children.add(elements[i]);
-            }
-        }
-
-        public void done() {
-        }
-
-        public Object[] getChildren() {
-            return children.toArray();
-        }
-
-    }
-
-    private class WrappedDeferredWorkbenchTreeAdapter extends AsynchronousContentAdapter {
-        private IDeferredWorkbenchAdapter fAdapter;
-
-        private Object fElement;
-
-        public WrappedDeferredWorkbenchTreeAdapter(IDeferredWorkbenchAdapter adapter, Object element) {
-            fAdapter = adapter;
-            fElement = element;
-        }
-
-        protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-            ElementCollector elementCollector = new ElementCollector();
-            fAdapter.fetchDeferredChildren(fElement, elementCollector, new NullProgressMonitor());
-            return elementCollector.getChildren();
-        }
-
-        protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-            if (element instanceof IStackFrame) {
-                return false;
-            }
-            return fAdapter.isContainer();
-        }
-        
-        protected boolean supportsPartId(String id) {
-            return IDebugUIConstants.ID_DEBUG_VIEW.equals(id);
-        }       
-    }
-
-    private class WrappedWorkbenchTreeAdapter extends AsynchronousContentAdapter {
-        private IWorkbenchAdapter fAdapter;
-
-        public WrappedWorkbenchTreeAdapter(IWorkbenchAdapter adapter) {
-            fAdapter = adapter;
-        }
-
-        protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-            return fAdapter.getChildren(parent);
-        }
-
-        protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-            if (element instanceof IStackFrame) {
-                return false;
-            }
-            return fAdapter.getChildren(element).length > 0;
-        }
-
-        protected boolean supportsPartId(String id) {
-            return IDebugUIConstants.ID_DEBUG_VIEW.equals(id);
-        }
-
-    }
-    
-}
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 96da835..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
+++ /dev/null
@@ -1,777 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.SafeRunner;
-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.ITerminate;
-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.AddToFavoritesAction;
-import org.eclipse.debug.internal.ui.actions.EditLaunchConfigurationAction;
-import org.eclipse.debug.internal.ui.actions.FindElementAction;
-import org.eclipse.debug.internal.ui.actions.context.AbstractDebugContextAction;
-import org.eclipse.debug.internal.ui.actions.context.DisconnectAction;
-import org.eclipse.debug.internal.ui.actions.context.DropToFrameAction;
-import org.eclipse.debug.internal.ui.actions.context.ResumeAction;
-import org.eclipse.debug.internal.ui.actions.context.StepIntoAction;
-import org.eclipse.debug.internal.ui.actions.context.StepOverAction;
-import org.eclipse.debug.internal.ui.actions.context.StepReturnAction;
-import org.eclipse.debug.internal.ui.actions.context.SuspendAction;
-import org.eclipse.debug.internal.ui.actions.context.TerminateAction;
-import org.eclipse.debug.internal.ui.actions.context.TerminateAllAction;
-import org.eclipse.debug.internal.ui.actions.context.TerminateAndRelaunchAction;
-import org.eclipse.debug.internal.ui.actions.context.TerminateAndRemoveAction;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextProvider;
-import org.eclipse.debug.internal.ui.sourcelookup.EditSourceLookupPathAction;
-import org.eclipse.debug.internal.ui.sourcelookup.LookupSourceAction;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.viewers.PresentationContext;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.IDebugEditorPresentation;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-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.viewers.DoubleClickEvent;
-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.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.ui.IMemento;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener2;
-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;
-
-public class LaunchView extends AbstractDebugView implements ISelectionChangedListener, IPerspectiveListener2, IPageListener, IShowInTarget, IShowInSource, IShowInTargetList, IPartListener2 {
-	
-	public static final String ID_CONTEXT_ACTIVITY_BINDINGS = "contextActivityBindings"; //$NON-NLS-1$
-
-    private static final String TERMINATE = "terminate"; //$NON-NLS-1$
-
-    private static final String DISCONNECT = "disconnect"; //$NON-NLS-1$
-
-    private static final String SUSPEND = "suspend"; //$NON-NLS-1$
-
-    private static final String RESUME = "resume"; //$NON-NLS-1$
-
-    private static final String STEP_RETURN = "step_return"; //$NON-NLS-1$
-
-    private static final String STEP_OVER = "step_over"; //$NON-NLS-1$
-
-    private static final String DROP_TO_FRAME = "drop_to_frame"; //$NON-NLS-1$
-
-    private static final String STEP_INTO = "step_into"; //$NON-NLS-1$
-
-    private static final String TERMINATE_AND_REMOVE = "terminate_and_remove"; //$NON-NLS-1$
-    
-    private static final String TERMINATE_ALL = "terminate_all"; //$NON-NLS-1$
-
-    private static final String TERMINATE_AND_RELAUNCH = "terminate_relaunch"; //$NON-NLS-1$
-			
-	/**
-	 * Whether this view is in the active page of a perspective.
-	 */
-	private boolean fIsActive = true; 	
-		
-	/**
-	 * 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;
-
-	class ContextProvider implements IDebugContextProvider {
-		/**
-		 * Context listeners
-		 */
-		private ListenerList fListeners = new ListenerList();
-		
-		private ISelection fContext = null;
-		
-		protected void dispose() { 
-			fContext = null;
-			fListeners.clear();
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.ui.contexts.IDebugContextProvider#getPart()
-		 */
-		public IWorkbenchPart getPart() {
-			return LaunchView.this;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.ui.contexts.IDebugContextProvider#addDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener)
-		 */
-		public void addDebugContextListener(IDebugContextListener listener) {
-			fListeners.add(listener);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.ui.contexts.IDebugContextProvider#removeDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener)
-		 */
-		public void removeDebugContextListener(IDebugContextListener listener) {
-			fListeners.remove(listener);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.ui.contexts.IDebugContextProvider#getActiveContext()
-		 */
-		public synchronized ISelection getActiveContext() {
-			return fContext;
-		}	
-		
-		protected synchronized void activate(ISelection selection) {
-			fContext = selection;
-			Object[] listeners = fListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				final IDebugContextListener listener = (IDebugContextListener) listeners[i];
-                SafeRunner.run(new ISafeRunnable() {
-					public void run() throws Exception {
-						listener.contextActivated(fContext, ContextProvider.this.getPart());
-					}
-					public void handleException(Throwable exception) {
-						DebugUIPlugin.log(exception);
-					}
-				});
-				
-			}
-		}
-		
-		protected synchronized void possibleContextChange(Object element) {
-			if (fContext instanceof IStructuredSelection) {
-				IStructuredSelection ss = (IStructuredSelection) fContext;
-				if (ss.size() == 1 && ss.getFirstElement().equals(element)) {
-					Object[] listeners = fListeners.getListeners();
-					for (int i = 0; i < listeners.length; i++) {
-						final IDebugContextListener listener = (IDebugContextListener) listeners[i];
-                        SafeRunner.run(new ISafeRunnable() {
-							public void run() throws Exception {
-								listener.contextChanged(fContext, ContextProvider.this.getPart());
-							}
-							public void handleException(Throwable exception) {
-								DebugUIPlugin.log(exception);
-							}
-						});
-						
-					}					
-				}
-			}
-		}
-		
-	}
-	
-	/**
-	 * Context provider
-	 */
-	private ContextProvider fProvider = new ContextProvider();
-	
-	/* (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(), getSite().getSelectionProvider())); //$NON-NLS-1$
-		fEditConfigAction = new EditLaunchConfigurationAction();
-		fAddToFavoritesAction = new AddToFavoritesAction();
-		fEditSourceAction = new EditSourceLookupPathAction(this);
-		fLookupAction = new LookupSourceAction(this);
-		setAction(FIND_ACTION, new FindElementAction(this, (AsynchronousTreeViewer) getViewer()));
-        
-        
-        IWorkbenchWindow window = getSite().getWorkbenchWindow();
-        TerminateAction terminateAction = new TerminateAction();
-        terminateAction.init(window);
-        setAction(TERMINATE, terminateAction);
-        DisconnectAction disconnectAction = new DisconnectAction();
-        disconnectAction.init(window);
-        setAction(DISCONNECT, disconnectAction);
-        SuspendAction suspendAction = new SuspendAction();
-        suspendAction.init(window);
-        setAction(SUSPEND, suspendAction);
-        ResumeAction resumeAction = new ResumeAction();
-        resumeAction.init(window);
-        setAction(RESUME, resumeAction);
-        StepReturnAction stepReturnAction = new StepReturnAction();
-        stepReturnAction.init(window);
-        setAction(STEP_RETURN, stepReturnAction);
-        StepOverAction stepOverAction = new StepOverAction();
-        stepOverAction.init(window);
-        setAction(STEP_OVER, stepOverAction);
-        StepIntoAction stepIntoAction = new StepIntoAction();
-        stepIntoAction.init(window);
-        setAction(STEP_INTO, stepIntoAction);
-        DropToFrameAction dropToFrameAction = new DropToFrameAction();
-        dropToFrameAction.init(window);
-        setAction(DROP_TO_FRAME, dropToFrameAction);
-        TerminateAndRemoveAction terminateAndRemoveAction = new TerminateAndRemoveAction();
-        terminateAndRemoveAction.init(window);
-        setAction(TERMINATE_AND_REMOVE, terminateAndRemoveAction);
-        TerminateAllAction terminateAll = new TerminateAllAction();
-        terminateAll.init(window);
-        setAction(TERMINATE_ALL, terminateAll);
-        TerminateAndRelaunchAction terminateAndRelaunchAction = new TerminateAndRelaunchAction();
-        terminateAndRelaunchAction.init(window);
-        setAction(TERMINATE_AND_RELAUNCH, terminateAndRelaunchAction);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Viewer createViewer(Composite parent) {
-		AsynchronousTreeViewer viewer = new LaunchViewer(parent, this);
-		viewer.setContext(new PresentationContext(this));
-        
-        viewer.addSelectionChangedListener(this);
-        viewer.getControl().addKeyListener(new KeyAdapter() {
-        	public void keyPressed(KeyEvent event) {
-        		if (event.character == SWT.DEL && event.stateMask == 0) {
-        			handleDeleteKeyPressed();
-        		}
-        	}
-        });
-        final DelegatingModelPresentation presentation = new DelegatingModelPresentation();
-        fEditorPresentation = presentation;
-        // add my viewer as a selection provider, so selective re-launch works
-		getSite().setSelectionProvider(viewer);
-		viewer.setInput(DebugPlugin.getDefault().getLaunchManager());
-		//setEventHandler(new LaunchViewEventHandler(this));
-		DebugContextManager.getDefault().addDebugContextProvider(fProvider);
-		return viewer;
-	}
-		
-	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.LaunchView_Terminate_and_Remove_1, DebugUIViewsMessages.LaunchView_Terminate_and_remove_selected__2)) {  
-				return;
-			}
-		}
-		MultiStatus status= new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, DebugUIViewsMessages.LaunchView_Exceptions_occurred_attempting_to_terminate_and_remove_3, null); 
-		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.LaunchView_Terminate_and_Remove_4, DebugUIViewsMessages.LaunchView_Terminate_and_remove_failed_5, status);  
-			} else {
-				DebugUIPlugin.log(status);
-			}
-		}
-	}
-	
-	/**
-	 * Terminates and removes the given element from the launch manager
-	 */
-	public static void terminateAndRemove(Object element) throws DebugException {
-		ILaunch launch= null;
-		ITerminate terminable = 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();
-		}		
-		terminable = launch;
-		if (terminable == null) {
-			if (element instanceof ITerminate) {
-				terminable = (ITerminate) element;
-			}
-		}
-		if (terminable == null) {
-			return;
-		}
-		if (!(terminable.canTerminate() || terminable.isTerminated())) {
-			// Don't try to terminate or remove attached launches
-			return;
-		}
-		try {
-			if (!terminable.isTerminated()) {
-				terminable.terminate();
-			}
-		} finally {
-			if (launch != null) {
-				ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();
-				lManager.removeLaunch(launch);		
-			}
-		}
-	}
-
-	private void commonInit(IViewSite 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)
-	 */
-	public void init(IViewSite site) throws PartInitException {
-		super.init(site);
-		commonInit(site);
-	}
-
-	/* (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);
-		commonInit(site);
-	}
-		
-	/* (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));
-        
-        tbm.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(RESUME));
-        tbm.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(SUSPEND));
-        tbm.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(TERMINATE));
-        tbm.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(DISCONNECT));
-        
-        tbm.appendToGroup(IDebugUIConstants.STEP_INTO_GROUP, getAction(STEP_INTO));
-        tbm.appendToGroup(IDebugUIConstants.STEP_OVER_GROUP, getAction(STEP_OVER));
-        tbm.appendToGroup(IDebugUIConstants.STEP_RETURN_GROUP, getAction(STEP_RETURN));
-        
-        tbm.appendToGroup(IDebugUIConstants.EMPTY_STEP_GROUP, getAction(DROP_TO_FRAME));
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		DebugContextManager.getDefault().removeDebugContextProvider(fProvider);
-        disposeActions();
-		fProvider.dispose();
-	    Viewer viewer = getViewer();
-		if (viewer != null) {
-			viewer.removeSelectionChangedListener(this);
-			if (viewer instanceof AsynchronousTreeViewer) {
-				AsynchronousTreeViewer asyncTreeViewer = (AsynchronousTreeViewer) viewer;
-				asyncTreeViewer.dispose();
-			}
-		}
-		IWorkbenchPage page = getSite().getPage();
-		page.removePartListener((IPartListener2) this);
-		IWorkbenchWindow window = getSite().getWorkbenchWindow();
-		window.removePerspectiveListener(this);
-		window.removePageListener(this);
-		
-		super.dispose();
-	}
-		
-	private void disposeActions() {
-        PropertyDialogAction properties = (PropertyDialogAction) getAction("Properties"); //$NON-NLS-1$
-        properties.dispose();
-        
-        AbstractDebugContextAction action = (AbstractDebugContextAction) getAction(TERMINATE);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(DISCONNECT);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(SUSPEND);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(RESUME);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(STEP_RETURN);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(STEP_OVER);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(STEP_INTO);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(DROP_TO_FRAME);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(TERMINATE_AND_REMOVE);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(TERMINATE_ALL);
-        action.dispose();
-        action = (AbstractDebugContextAction) getAction(TERMINATE_AND_RELAUNCH);
-        action.dispose();
-    }
-
-    /**
-	 * 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) {
-		fProvider.activate(event.getSelection());
-		updateObjects();
-	}
-	
-	protected void possibleContextChange(Object element) {
-		fProvider.possibleContextChange(element);
-	}
-
-	/* (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;
-		} 
-		StructuredViewer viewer = (StructuredViewer) getViewer();
-		viewer.refresh(o);
-	}
-		
-	/* (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();
-	}
-
-	/* (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);
-	}
-	
-	/* (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) {
-	}
-
-	/* (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();
-		}
-	}
-
-	/* (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) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#getPresentation(java.lang.String)
-	 */
-	public IDebugModelPresentation getPresentation(String id) {
-		return ((DelegatingModelPresentation)fEditorPresentation).getPresentation(id);
-	}
-	
-	/* (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(getAction(FIND_ACTION));
-		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));
-        
-        menu.appendToGroup(IDebugUIConstants.LAUNCH_GROUP, getAction(TERMINATE_AND_REMOVE));
-        menu.appendToGroup(IDebugUIConstants.LAUNCH_GROUP, getAction(TERMINATE_ALL));
-		
-        menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(RESUME));
-        menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(SUSPEND));
-        menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(TERMINATE));
-        menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(TERMINATE_AND_RELAUNCH));
-        menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(DISCONNECT));
-        
-        menu.appendToGroup(IDebugUIConstants.STEP_INTO_GROUP, getAction(STEP_INTO));
-        menu.appendToGroup(IDebugUIConstants.STEP_OVER_GROUP, getAction(STEP_OVER));
-        menu.appendToGroup(IDebugUIConstants.STEP_RETURN_GROUP, getAction(STEP_RETURN));
-        
-        menu.appendToGroup(IDebugUIConstants.EMPTY_STEP_GROUP, getAction(DROP_TO_FRAME));
-    }
-	
-	/**
-	 * 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);
-		}		
-	}
-		
-	/**
-	 * 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.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.size() == 1) { 
-				Object object = selection.getFirstElement();
-				if (object instanceof IAdaptable) {
-					IAdaptable adaptable = (IAdaptable) object;
-					IShowInSource show = (IShowInSource) adaptable.getAdapter(IShowInSource.class);
-					if (show != null) {
-						return show.getShowInContext();
-					}
-				}
-			}
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IShowInTargetList#getShowInTargetIds()
-	 */
-	public String[] getShowInTargetIds() {
-		if (isActive()) { 
-			IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection();
-			if (selection.size() == 1) { 
-				Object object = selection.getFirstElement();
-				if (object instanceof IAdaptable) {
-					IAdaptable adaptable = (IAdaptable) object;
-					IShowInTargetList show = (IShowInTargetList) adaptable.getAdapter(IShowInTargetList.class);
-					if (show != null) {
-						return show.getShowInTargetIds();
-					}
-				}
-			}
-		}
-		return new String[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partClosed(IWorkbenchPartReference partRef) {
-	}
-
-	/* (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) {
-	}
-
-	/* (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) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#becomesVisible()
-	 */
-	protected void becomesVisible() {
-		super.becomesVisible();
-		getViewer().refresh();
-	}
-	
-	
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewUpdatePolicy.java
deleted file mode 100644
index f6f7401..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewUpdatePolicy.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.viewers.TreeUpdatePolicy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-
-/**
- * @since 3.2
- *
- */
-public class LaunchViewUpdatePolicy extends TreeUpdatePolicy {
-	
-	private LaunchView fView = null;
-	
-	public LaunchViewUpdatePolicy(LaunchView view) {
-		fView = view;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.AbstractUpdatePolicy#dispose()
-	 */
-	public synchronized void dispose() {
-		super.dispose();
-		fView = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.DefaultUpdatePolicy#handleState(org.eclipse.debug.internal.ui.viewers.AsynchronousTreeModelViewer, org.eclipse.debug.internal.ui.viewers.IModelDelta)
-	 */
-	protected void handleState(AsynchronousTreeViewer viewer, IModelDelta delta) {
-		 super.handleState(viewer, delta);
-		 // only context change if not already selected
-		 if ((delta.getFlags() & IModelDelta.SELECT) == 0) {
-			 fView.possibleContextChange(delta.getElement());
-		 }
-	}
-
-}
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 15af8ba..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.launch;
-
-import org.eclipse.debug.internal.ui.viewers.AbstractUpdatePolicy;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousModel;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.swt.widgets.Composite;
-
-public class LaunchViewer extends AsynchronousTreeViewer {
-	
-	private LaunchView fView;
-
-	public LaunchViewer(Composite parent, LaunchView view) {
-		super(parent);
-		fView = view;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousViewer#isSuppressEqualSelections()
-	 */
-	protected boolean isSuppressEqualSelections() {
-		// fire activation changes all the time
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousModelViewer#createUpdatePolicy()
-	 */
-	public AbstractUpdatePolicy createUpdatePolicy() {
-		return new LaunchViewUpdatePolicy(fView);
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.internal.ui.viewers.AsynchronousModelViewer#createModel()
-     */
-    protected AsynchronousModel createModel() {
-        return new LaunchTreeModel(this);
-    }	
-
-}
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 b25295f..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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);
-		setPartName(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 daa0f90..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, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-
-import com.ibm.icu.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.SourceNotFoundEditorInput_Source_Not_Found_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.SourceNotFoundEditorInput_Source_not_found_for__0__2,new String[] {fFrameText}); 
-	}
-
-}
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 ea33cf2..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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/AbstractMemoryViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java
deleted file mode 100644
index c097f52..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import org.eclipse.debug.core.IMemoryBlockListener;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.events.SelectionListener;
-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.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-
-public abstract class AbstractMemoryViewPane implements IMemoryBlockListener, ISelectionListener, SelectionListener, IMemoryView, ISelectionChangedListener, IMemoryViewPane, IDebugContextListener{
-	
-	public static final String BEGINNING_POPUP = "popUpBegin"; //$NON-NLS-1$
-	protected static final StructuredSelection EMPTY = new StructuredSelection();
-	
-	protected Composite fViewPaneCanvas;
-	protected StackLayout fStackLayout;
-	protected ViewTabEnablementManager fViewTabEnablementManager;
-	protected TabFolder fEmptyTabFolder;
-	protected Hashtable fTabFolderForDebugView = new Hashtable(); 
-	protected boolean fVisible;
-	protected Hashtable fRenderingInfoTable;
-	protected IMemoryBlockRetrieval fKey;  // store the key for current tab folder
-	protected ViewPaneSelectionProvider fSelectionProvider;
-	protected IViewPart fParent;
-	protected String fPaneId;
-	private Composite fCanvas;
-	protected String fLabel;
-	
-	public AbstractMemoryViewPane(IViewPart parent)
-	{
-		super();
-		fParent = parent;
-		fSelectionProvider = new ViewPaneSelectionProvider();
-	}
-	
-	/**
-	 * Create the content of the view pane
-	 * @param parent
-	 * @return the control of the view pane
-	 */
-	public Control createViewPane(Composite parent, String paneId, String label)
-	{	
-		fPaneId = paneId;
-		fLabel = label;
-		fCanvas = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.makeColumnsEqualWidth = false;
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		GridData data = new GridData();
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		data.verticalAlignment = SWT.BEGINNING;
-		data.horizontalAlignment = SWT.BEGINNING;
-		fCanvas.setLayout(layout);
-		fCanvas.setLayoutData(data);
-
-		// memory view area
-		Composite memoryViewAreaParent = fCanvas;
-		Composite subCanvas = new Composite(memoryViewAreaParent, SWT.NONE);	
-		fViewPaneCanvas = subCanvas;
-		fStackLayout = new StackLayout();
-		GridData memoryAreaData = new GridData();
-		memoryAreaData.grabExcessHorizontalSpace = true;
-		memoryAreaData.grabExcessVerticalSpace = true;
-		memoryAreaData.verticalAlignment = SWT.FILL;
-		memoryAreaData.horizontalAlignment = SWT.FILL;
-		fViewPaneCanvas.setLayout(fStackLayout);
-		fViewPaneCanvas.setLayoutData(memoryAreaData);
-		
-		fViewTabEnablementManager = new ViewTabEnablementManager();
-		
-		fEmptyTabFolder = new TabFolder(fViewPaneCanvas, SWT.NULL);
-		setTabFolder(fEmptyTabFolder);
-		
-		addListeners();
-		
-		Object context = DebugUITools.getDebugContext();
-		if (context != null)
-		{
-			IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(context);
-			if (retrieval != null)
-				createFolder(retrieval);
-		}
-		
-		fVisible = true;
-		
-		return fCanvas;
-	}
-	
-	protected void addListeners()
-	{
-		MemoryViewUtil.getMemoryBlockManager().addListener(this);
-		fParent.getViewSite().getPage().addSelectionListener(this);
-		DebugContextManager.getDefault().addDebugContextListener(this, fParent.getSite().getWorkbenchWindow());
-	}
-	
-	protected void removeListeners()
-	{
-		MemoryViewUtil.getMemoryBlockManager().removeListener(this);
-		fParent.getViewSite().getPage().removeSelectionListener(this);
-		DebugContextManager.getDefault().removeDebugContextListener(this, fParent.getSite().getWorkbenchWindow());
-		
-		if (fStackLayout.topControl != null)
-		{
-			TabFolder old = (TabFolder)fStackLayout.topControl;
-			
-			if (!old.isDisposed())
-			{	
-				old.removeSelectionListener(this);
-				old.removeSelectionListener(fViewTabEnablementManager);
-			}
-		}
-	}
-	
-	protected void setTabFolder(TabFolder folder)
-	{
-		if (fStackLayout.topControl != null)
-		{
-			TabFolder old = (TabFolder)fStackLayout.topControl;
-			
-			if (!old.isDisposed())
-			{	
-				old.removeSelectionListener(this);
-				old.removeSelectionListener(fViewTabEnablementManager);
-			}
-		}
-		
-		fStackLayout.topControl = folder;
-		
-		if (folder.getItemCount() > 0)
-		{
-			TabItem[] selectedItem = folder.getSelection();
-			
-			if (selectedItem.length > 0)
-			{
-				Object selected = getCurrentSelection();
-				if (selected != null)
-				{
-					fSelectionProvider.setSelection(new StructuredSelection(selected));
-				}
-				else
-				{
-					fSelectionProvider.setSelection(AbstractMemoryViewPane.EMPTY);
-				}
-			}
-		}
-		else
-		{
-			fSelectionProvider.setSelection(AbstractMemoryViewPane.EMPTY);
-		}
-		
-		folder.addSelectionListener(this);
-		folder.addSelectionListener(fViewTabEnablementManager);
-	}	
-	
-	
-	private void createFolder(IMemoryBlockRetrieval memRetrieval)
-	{	
-		//if we've got a tabfolder to go with the IMemoryBlockRetrieval, display it
-		if (fTabFolderForDebugView.containsKey(memRetrieval)) {
-			if (fStackLayout.topControl != (TabFolder)fTabFolderForDebugView.get(memRetrieval)) {
-				setTabFolder((TabFolder)fTabFolderForDebugView.get(memRetrieval));
-				fViewPaneCanvas.layout();
-			}
-		} else {	//otherwise, add a new one
-			fTabFolderForDebugView.put(memRetrieval, new TabFolder(fViewPaneCanvas, SWT.NULL));
-			setTabFolder((TabFolder)fTabFolderForDebugView.get(memRetrieval));
-			fViewPaneCanvas.layout();
-		}
-	}
-
-	public IMemoryViewTab getTopMemoryTab() {
-		
-		if (fStackLayout.topControl instanceof TabFolder)
-		{
-			TabFolder folder = (TabFolder)fStackLayout.topControl;
-			if (!folder.isDisposed())
-			{
-				int index = folder.getSelectionIndex();
-				if (index >= 0) {
-					TabItem tab = folder.getItem(index);
-					return (IMemoryViewTab)tab.getData();
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected void disposeTab(TabItem tabItem)
-	{
-		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();
-		}			
-	}
-
-	protected void emptyFolder()
-	{		
-		setTabFolder(fEmptyTabFolder);
-		if (!fViewPaneCanvas.isDisposed()) {
-			fViewPaneCanvas.layout();
-		}
-	}
-	
-	public void addSelectionListener(ISelectionChangedListener listener)
-	{
-		if (fSelectionProvider == null)
-			fSelectionProvider = new ViewPaneSelectionProvider();
-		
-		fSelectionProvider.addSelectionChangedListener(listener);
-	}
-	
-	public void removeSelctionListener(ISelectionChangedListener listener)
-	{
-		if (fSelectionProvider == null)
-			return;
-		
-		fSelectionProvider.removeSelectionChangedListener(listener);
-	}
-	
-	public ISelectionProvider getSelectionProvider()
-	{
-		return fSelectionProvider;
-	}
-	
-	public void dispose()
-	{
-		removeListeners();
-		
-		// dispose empty folders
-		fEmptyTabFolder.dispose();
-		
-		// dispose all other folders
-		try {
-			
-			if (fTabFolderForDebugView != null) {
-				Enumeration enumeration = fTabFolderForDebugView.elements();
-				
-				while (enumeration.hasMoreElements())
-				{
-					TabFolder tabFolder = (TabFolder)enumeration.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++)
-					{
-						disposeTab(tabs[i]);
-					}
-					
-					tabFolder.dispose();
-				}
-				
-				// set to null so that clean up is only done once
-				fTabFolderForDebugView.clear();
-				fTabFolderForDebugView = null;
-			}
-		} catch (Exception e) {		
-			
-			DebugUIPlugin.logErrorMessage("Exception occurred when the Memory View is disposed."); //$NON-NLS-1$
-		}		
-	}
-	
-	public void setVisible(boolean visible)
-	{
-		fVisible = visible;
-		
-		IMemoryViewTab currentTab = getTopMemoryTab();
-		if (currentTab != null)
-			currentTab.setEnabled(visible);
-	}
-
-	public void selectionChanged(SelectionChangedEvent event) {
-		ISelection selection = event.getSelection();
-		selectionChanged(fParent,selection);
-		
-		fSelectionProvider.setSelection(selection);
-	}
-	
-	/**
-	 * @return the unique identifier of the view pane
-	 */
-	public String getPaneId()
-	{
-		return fPaneId;
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getControl()
-	 */
-	public Control getControl() {
-		return fCanvas;
-	}
-	
-	public boolean isVisible()
-	{
-		return fVisible;
-	}
-	
-	public String getLabel()
-	{
-		return fLabel;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	abstract public void  memoryBlocksAdded(IMemoryBlock[] memoryBlocks);
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	abstract public void memoryBlocksRemoved(final IMemoryBlock[] memoryBlocks);
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	abstract public void selectionChanged(IWorkbenchPart part, ISelection selection);
-	
-	/**
-	 * @return current selection from the view pane
-	 */
-	abstract public Object getCurrentSelection();
-	
-	/**
-	 * retore the view pane based on current selection from the debug view
-	 * and the memory blocks and renderings currently exist 
-	 */
-	abstract public void restoreViewPane();
-	
-	/**
-	 * @return actions to be contributed to the view pane's toolbar
-	 */
-	abstract public IAction[] getActions();
-
-}
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 8236c24..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-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.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.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.core.model.IMemoryBlockRetrievalExtension;
-import org.eclipse.debug.core.model.ITerminate;
-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.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * Action for adding memory block.
- * 
- * @since 3.0
- */
-public class AddMemoryBlockAction extends Action implements IDebugContextListener, IDebugEventSetListener{
-	
-	protected IAdaptable fCurrentContext = null;
-	protected IMemoryBlock fLastMemoryBlock;
-	private boolean fAddDefaultRenderings = true;
-	protected IMemoryRenderingSite fSite;
-	
-	public AddMemoryBlockAction(IMemoryRenderingSite site)
-	{
-		initialize(site);
-	}
-	
-	/**
-	 * @param addDefaultRenderings - specify if the action should add
-	 * default renderings for the new memory block when it is run
-	 */
-	AddMemoryBlockAction(IMemoryRenderingSite site, boolean addDefaultRenderings)
-	{
-		initialize(site);
-		fAddDefaultRenderings = addDefaultRenderings;
-	}
-	
-	/**
-	 * 
-	 */
-	private void initialize(IMemoryRenderingSite site) {
-		setText(DebugUIMessages.AddMemoryBlockAction_title);
-		doInitialization(site);
-	}
-
-
-	public AddMemoryBlockAction(String text, int style, IMemoryRenderingSite site)
-	{
-		super(text, style);
-		doInitialization(site);	
-	}
-	
-	/**
-	 * 
-	 */
-	private void doInitialization(IMemoryRenderingSite site) {
-		fSite = site;
-		setToolTipText(DebugUIMessages.AddMemoryBlockAction_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));
-		
-		// listen for context changed
-		DebugContextManager.getDefault().addDebugContextListener(this, site.getSite().getWorkbenchWindow());
-		
-		// get current context
-		fCurrentContext = DebugUITools.getDebugContext();
-		
-		// set up enablement based on current selection
-		updateAction(fCurrentContext);
-		
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		boolean exit = false;
-		String prefillExp = null;
-		String prefillLength = null;
-		while (!exit)
-		{
-			exit = true;
-			
-			Object elem = DebugUITools.getDebugContext();
-			
-			IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(elem);
-			
-			if (retrieval == null)
-				return;
-			
-			Shell shell= DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
-			// create dialog to ask for expression/address to block
-			MonitorMemoryBlockDialog dialog = new MonitorMemoryBlockDialog(shell, retrieval, prefillExp, prefillLength);
-			dialog.open();
-			int returnCode = dialog.getReturnCode();
-			if (returnCode == Window.CANCEL)
-			{
-				return;
-			}
-			// get expression entered in dialog
-			String input = dialog.getExpression();
-			
-			// remember expression and length
-			prefillExp = input;
-			prefillLength = dialog.getLength();
-			
-			ArrayList expressions = new ArrayList();
-			
-			if (input.length() == 0)
-			{
-				expressions.add(""); //$NON-NLS-1$
-			}
-			else
-			{
-				StringTokenizer tokenizer = new StringTokenizer(input, ","); //$NON-NLS-1$
-				while (tokenizer.hasMoreTokens())
-				{
-					expressions.add(tokenizer.nextToken());
-				}
-			}	
-			final String[] expressionsArray = (String[])expressions.toArray(new String[expressions.size()]);
-			exit = true;
-			
-			final boolean finalExit = exit;
-			final Object finalElement = elem;
-			final IMemoryBlockRetrieval finalRetrieval = retrieval;
-			final MonitorMemoryBlockDialog finalDialog = dialog;
-			Job job = new Job("Add Memory Block") { //$NON-NLS-1$
-				protected IStatus run(IProgressMonitor monitor) {
-					addMemoryBlocks(finalExit, finalElement, finalRetrieval, finalDialog, expressionsArray);
-					return Status.OK_STATUS;
-				}};
-			job.setSystem(true);
-			job.schedule();
-		}
-	}
-
-	/**
-	 * @param exit
-	 * @param elem
-	 * @param standardMemRetrieval
-	 * @param dialog
-	 * @param expressionsArray
-	 * @return
-	 */
-	private boolean addMemoryBlocks(boolean exit, Object elem, IMemoryBlockRetrieval standardMemRetrieval, MonitorMemoryBlockDialog dialog, final String[] expressionsArray) {
-		for (int i=0; i<expressionsArray.length; i++)
-		{
-			String expression = expressionsArray[i].trim();
-			try {
-				if (standardMemRetrieval instanceof IMemoryBlockRetrievalExtension)
-				{
-					// if the debug session supports IMemoryBlockExtensionRetrieval
-					IMemoryBlockRetrievalExtension memRetrieval = (IMemoryBlockRetrievalExtension)standardMemRetrieval;
-					
-					// get extended memory block with the expression entered
-					IMemoryBlockExtension memBlock = memRetrieval.getExtendedMemoryBlock(expression, elem);
-					
-					// add block to memory block manager
-					if (memBlock != null)
-					{
-						fLastMemoryBlock = memBlock;
-						
-						IMemoryBlock[] memArray = new IMemoryBlock[]{memBlock};
-						
-						MemoryViewUtil.getMemoryBlockManager().addMemoryBlocks(memArray);
-						if (fAddDefaultRenderings)
-							addDefaultRenderings(memBlock);
-					}
-					else
-					{
-						// open error if it failed to retrieve a memory block
-						MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, DebugUIMessages.AddMemoryBlockAction_noMemoryBlock, null);
-						exit = false;
-					}
-				}
-				else
-				{
-					// if the debug session does not support IMemoryBlockExtensionRetrieval
-					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 monitor at least one line
-					if (length <= 0)
-					{
-						String message = DebugUIMessages.AddMemoryBlockAction_failed + "\n" + DebugUIMessages.AddMemoryBlockAction_input_invalid; //$NON-NLS-1$
-						MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, message, null); 
-						exit = false;
-						continue;
-					}
-					
-					// get standard memory block
-					IMemoryBlock memBlock = standardMemRetrieval.getMemoryBlock(longAddress, length);
-					
-					// make sure the memory block returned is not an instance of IMemoryBlockExtension
-					if (memBlock instanceof IMemoryBlockExtension)
-					{
-						Status status = new Status(IStatus.WARNING, DebugUIPlugin.getUniqueIdentifier(),	0, 
-							"IMemoryBlockRetrieval returns IMemoryBlockExtension.  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;	
-						IMemoryBlock[] memArray = new IMemoryBlock[]{memBlock};
-						
-						MemoryViewUtil.getMemoryBlockManager().addMemoryBlocks(memArray);
-						if (fAddDefaultRenderings)
-							addDefaultRenderings(memBlock);
-					}
-					else
-					{
-						// otherwise open up an error doalog
-						MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, DebugUIMessages.AddMemoryBlockAction_noMemoryBlock, null);
-						exit = false;
-					}
-				}
-			} catch (DebugException e1) {
-				MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, DebugUIMessages.AddMemoryBlockAction_failed, e1);
-				exit = false;
-			}
-			catch(NumberFormatException e2)
-			{
-				String message = DebugUIMessages.AddMemoryBlockAction_failed + "\n" + DebugUIMessages.AddMemoryBlockAction_input_invalid; //$NON-NLS-1$
-				MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, message, null); 
-				exit = false;
-			}
-		}
-		return exit;
-	}
-
-
-	/* (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 (fCurrentContext instanceof IDebugElement)
-			{
-				selectionDT = ((IDebugElement)fCurrentContext).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;
-	}
-	
-	protected void dispose() {
-		
-		// remove listeners
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-		DebugContextManager.getDefault().removeDebugContextListener(this, fSite.getSite().getWorkbenchWindow());
-	}
-	
-	private void addDefaultRenderings(IMemoryBlock memoryBlock)
-	{
-		IMemoryRenderingType primaryType = DebugUITools.getMemoryRenderingManager().getPrimaryRenderingType(memoryBlock);
-		IMemoryRenderingType renderingTypes[] = DebugUITools.getMemoryRenderingManager().getDefaultRenderingTypes(memoryBlock);
-		
-		// create primary rendering
-		try {
-			if (primaryType != null)
-			{
-				createRenderingInContainer(memoryBlock, primaryType, IDebugUIConstants.ID_RENDERING_VIEW_PANE_1);
-			}
-			else if (renderingTypes.length > 0)
-			{
-				primaryType = renderingTypes[0];
-				createRenderingInContainer(memoryBlock, renderingTypes[0], IDebugUIConstants.ID_RENDERING_VIEW_PANE_1);
-			}
-		} catch (CoreException e1) {
-			DebugUIPlugin.log(e1);	
-		}
-		
-		for (int i = 0; i<renderingTypes.length; i++)
-		{
-			try {
-				boolean create = true;
-				if (primaryType != null)
-				{
-					if (primaryType.getId().equals(renderingTypes[i].getId()))
-						create = false;
-				}
-				if (create)
-					createRenderingInContainer(memoryBlock, renderingTypes[i], IDebugUIConstants.ID_RENDERING_VIEW_PANE_2);
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-	}
-
-	/**
-	 * @param memoryBlock
-	 * @param primaryType
-	 * @throws CoreException
-	 */
-	private void createRenderingInContainer(IMemoryBlock memoryBlock, IMemoryRenderingType primaryType, String paneId) throws CoreException {
-		IMemoryRendering rendering = primaryType.createRendering();
-		IMemoryRenderingContainer container = fSite.getContainer(paneId);
-		rendering.init(container, memoryBlock);
-		container.addMemoryRendering(rendering);
-	}
-	
-	protected MemoryView getMemoryView()
-	{
-		if (fSite instanceof MemoryView)
-			return (MemoryView)fSite;
-		return null;
-	}
-	
-	protected void updateAction(final Object debugContext)
-	{
-		Job job = new Job("Update Add Memory Block Action") { //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				setEnabled(MemoryViewUtil.isValidContext(debugContext));
-				return Status.OK_STATUS;
-			}};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	public void contextActivated(ISelection selection, IWorkbenchPart part) {
-		IAdaptable context = DebugUITools.getDebugContext();
-		updateAction(context);
-		fCurrentContext = context;
-	}
-
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {		
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java
deleted file mode 100644
index 2cfb6ae..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.core.runtime.CoreException;
-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.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Toolbar "Add Memory Rendering Action" from Memory Rendering Pane
- */
-public class AddMemoryRenderingAction extends AddMemoryBlockAction {
-	
-	private IMemoryRenderingContainer fContainer;
-	
-	public AddMemoryRenderingAction(IMemoryRenderingContainer container)
-	{
-		super(DebugUIMessages.AddMemoryRenderingAction_Add_renderings, AS_PUSH_BUTTON, container.getMemoryRenderingSite()); 
-		setToolTipText(DebugUIMessages.AddMemoryRenderingAction_Add_renderings); 
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, DebugUIPlugin.getUniqueIdentifier() + ".AddRenderingContextAction_context"); //$NON-NLS-1$
-		fContainer = container;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		
-		// pop up dialog and ask what renderings to create
-		Shell shell = DebugUIPlugin.getShell();
-		
-		IDebugElement elem = getDebugElement(fCurrentContext); 
-		
-		if (elem != null)
-		{	
-			AddMemoryRenderingDialog dialog = new AddMemoryRenderingDialog(shell, fSite);
-			dialog.open();
-			
-			// get a list of renderings to create
-			Object[] renderings = dialog.getResult();
-			
-			IMemoryBlock blk = dialog.getMemoryBlock();
-			
-			if (blk == null)
-				return;
-			
-			// ask for debug target and memory block retrieval
-			IDebugTarget debugTarget = elem.getDebugTarget();
-			IMemoryBlockRetrieval standardMemRetrieval = (IMemoryBlockRetrieval)elem.getAdapter(IMemoryBlockRetrieval.class);
-			
-			if (standardMemRetrieval == null)
-			{	
-				standardMemRetrieval = debugTarget;
-			}
-			
-			if (standardMemRetrieval == null)
-				return;
-			
-			// add memory renderings to Memory Rendering Manager
-			for (int i=0; i<renderings.length; i++)
-			{	
-				if (renderings[i] instanceof IMemoryRenderingType)
-				{
-					try {
-						IMemoryRendering rendering = ((IMemoryRenderingType)renderings[i]).createRendering();
-						if (rendering != null)
-						{
-							rendering.init(fContainer, blk);
-							fContainer.addMemoryRendering(rendering);
-						}
-					} catch (CoreException e) {
-						MemoryViewUtil.openError(DebugUIMessages.AddMemoryRenderingAction_Add_rendering_failed, DebugUIMessages.AddMemoryRenderingAction_Unable_to_add_selected_renderings, e); 
-					}
-				}					
-			}
-		}
-	}
-	
-	private IDebugElement getDebugElement(Object elem)
-	{
-		// if not debug element
-		if (!(elem instanceof IDebugElement))
-			return null;
-        return (IDebugElement)elem;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java
deleted file mode 100644
index 2e002b9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-
-public class AddMemoryRenderingContextAction implements IViewActionDelegate {
-
-	private IMemoryRenderingSite fMemoryView;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		
-		if (view instanceof IMemoryRenderingSite)
-		{
-			fMemoryView = (IMemoryRenderingSite)view;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-	
-		if (fMemoryView == null)
-			return;
-		
-		IMemoryRenderingContainer[] viewPanes = fMemoryView.getMemoryRenderingContainers();
-		String actionId = action.getId();
-		IMemoryRenderingContainer selectedPane = null;
-		
-		for (int i=0; i<viewPanes.length; i++)
-		{
-			if (actionId.indexOf(viewPanes[i].getId()) != -1)
-			{
-				selectedPane = viewPanes[i];
-				break;
-			}
-		}
-		
-		if (selectedPane == null)
-			return;
-		
-		AddMemoryRenderingAction addAction = new AddMemoryRenderingAction(selectedPane);
-		addAction.run();
-		
-		addAction.dispose();
-	}
-
-	/* (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) {
-
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java
deleted file mode 100644
index 9b0eeeb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java
+++ /dev/null
@@ -1,554 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-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.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IMemoryBlockListener;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-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.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.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * Dialog allowing user to add a memory rendering
- */
-public class AddMemoryRenderingDialog extends SelectionDialog {
-	
-	private IMemoryBlock[] fMemoryBlocks;
-	private Combo memoryBlock;
-	private ListViewer fViewer;
-	private IMemoryBlock fSelectedMemoryBlock;
-	private Button addNew;
-	
-	private ISelectionChangedListener fSelectionChangedListener;
-	private MouseListener fMouseListener;
-	private SelectionListener fSelectionListener;
-	private IMemoryRenderingSite fSite;
-	
-	private IMemoryBlockListener fMemoryBlockListener = new IMemoryBlockListener(){
-		
-		public void memoryBlocksAdded(final IMemoryBlock[] memory)
-		{
-			if (memory.length > 0)
-			{
-				IMemoryBlock currentBlock = getMemoryBlockToSelect(memory[0]);
-				if (currentBlock == null)
-				{
-					addNew();
-				}
-				else
-				{
-					populateDialog(currentBlock);
-				}
-			}
-		}
-		public void memoryBlocksRemoved(IMemoryBlock[] memory)
-		{
-		}
-	};
-
-	class MemoryRenderingLabelProvider implements ILabelProvider
-	{
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-		 */
-		public Image getImage(Object element) {
-			return null;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-		 */
-		public String getText(Object element) {
-			if (element instanceof IMemoryRenderingType)
-			{	
-				String label = ((IMemoryRenderingType)element).getLabel();
-				return label;
-			}
-            return element.toString();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-		 */
-		public void addListener(ILabelProviderListener listener) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-		 */
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-		 */
-		public void removeListener(ILabelProviderListener listener) {
-		}
-
-	}
-	
-	class MemoryRenderingContentProvider implements IStructuredContentProvider
-	{
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			IMemoryRenderingType[] renderings = DebugUITools.getMemoryRenderingManager().getRenderingTypes((IMemoryBlock)inputElement);
-			return renderings;
-		}
-
-		/* (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) {
-		}
-		
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		
-		fViewer.removeSelectionChangedListener(fSelectionChangedListener);
-		memoryBlock.removeSelectionListener(fSelectionListener);
-		addNew.removeMouseListener(fMouseListener);
-		DebugPlugin.getDefault().getMemoryBlockManager().removeListener(fMemoryBlockListener);
-		
-		return super.close();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		getButton(IDialogConstants.OK_ID).setEnabled(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.SelectionDialog#getResult()
-	 */
-	public Object[] getResult() {
-		
-		Object[] results = super.getResult();
-		
-		if (results != null)
-		{	
-			Object[] renderings = ((IStructuredSelection)results[0]).toArray();
-			return renderings;
-		}
-        return new Object[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#cancelPressed()
-	 */
-	protected void cancelPressed() {
-		
-		setResult(null);
-		
-		super.cancelPressed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		
-		ISelection select = fViewer.getSelection();
-		setSelectionResult(new Object[]{select});
-		
-		super.okPressed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, DebugUIPlugin.getUniqueIdentifier() + ".AddMemoryRenderingDialog_context"); //$NON-NLS-1$
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout compositeLayout = new GridLayout();
-		compositeLayout.numColumns = 3;
-		compositeLayout.makeColumnsEqualWidth = true;
-		composite.setLayout(compositeLayout);
-		
-		GridData comositeSpec= new GridData();
-		comositeSpec.grabExcessVerticalSpace= true;
-		comositeSpec.grabExcessHorizontalSpace= true;
-		comositeSpec.horizontalAlignment= GridData.FILL;
-		comositeSpec.verticalAlignment= GridData.CENTER;
-		composite.setLayoutData(comositeSpec);
-		
-		Label textLabel = new Label(composite, SWT.NONE);
-		textLabel.setText(DebugUIMessages.AddMemoryRenderingDialog_Memory_Monitor); 
-		GridData textLayout = new GridData();
-		textLayout.verticalAlignment=GridData.CENTER;
-		textLayout.horizontalAlignment=GridData.BEGINNING;
-		textLabel.setLayoutData(textLayout);
-		
-		memoryBlock = new Combo(composite, SWT.BORDER | SWT.READ_ONLY);
-		GridData spec= new GridData(GridData.FILL_HORIZONTAL);
-		spec.grabExcessVerticalSpace= false;
-		spec.grabExcessHorizontalSpace= false;
-		spec.horizontalAlignment= GridData.FILL;
-		spec.verticalAlignment= GridData.FILL;
-		spec.horizontalSpan = 4;
-		memoryBlock.setLayoutData(spec);
-		
-		Label filler = new Label(composite, SWT.NONE);
-		filler.setText(" "); //$NON-NLS-1$
-		GridData fillerData = new GridData(GridData.FILL_HORIZONTAL);
-		fillerData.horizontalSpan = 2;
-		filler.setLayoutData(fillerData);
-		
-		addNew = new Button(composite, SWT.NONE);
-		addNew.setText(DebugUIMessages.AddMemoryRenderingDialog_Add_New); 
-		GridData specButton= new GridData();
-		specButton.horizontalAlignment= GridData.END;
-		specButton.verticalAlignment= GridData.CENTER;
-		addNew.setLayoutData(specButton);
-		
-		fMouseListener =new MouseAdapter() {
-			public void mouseUp(MouseEvent e) {
-				RetargetAddMemoryBlockAction action = new RetargetAddMemoryBlockAction(fSite, false);
-				action.run();
-				action.dispose();
-			}
-		}; 
-		
-		addNew.addMouseListener(fMouseListener);
-		
-		fSelectionListener = new SelectionListener(){
-
-			public void widgetSelected(SelectionEvent e) {
-				
-				int idx = memoryBlock.getSelectionIndex();
-				
-				// avoid null pointer exception
-				if (fMemoryBlocks == null)
-					return;
-				
-				fSelectedMemoryBlock = fMemoryBlocks[idx];
-				
-				fViewer.setInput(fSelectedMemoryBlock);			
-				
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}};
-		
-		memoryBlock.addSelectionListener(fSelectionListener);
-		
-		Label renderingLabel = new Label(composite, SWT.NONE);
-		renderingLabel.setText(DebugUIMessages.AddMemoryRenderingDialog_Memory_renderings); 
-		GridData renderingLayout = new GridData();
-		renderingLayout.horizontalAlignment = GridData.BEGINNING;
-		renderingLayout.verticalAlignment = GridData.CENTER;
-		renderingLayout.horizontalSpan = 3;
-		renderingLabel.setLayoutData(renderingLayout);
-		
-		fViewer = new ListViewer(composite);
-		fViewer.setContentProvider(new MemoryRenderingContentProvider());
-		fViewer.setLabelProvider(new MemoryRenderingLabelProvider());
-		
-		GridData listLayout = new GridData(GridData.FILL_BOTH);
-		listLayout.horizontalSpan = 3;
-		listLayout.heightHint =140;
-		fViewer.getControl().setLayoutData(listLayout);
-		
-		fViewer.addDoubleClickListener(new IDoubleClickListener (){
-
-			public void doubleClick(DoubleClickEvent event) {
-				okPressed();
-			}});
-		
-		IMemoryBlock currentBlock = getMemoryBlockToSelect(null);
-		if (currentBlock == null)
-		{
-			addNew();
-		}
-		else
-		{
-			populateDialog(currentBlock);
-		}
-		
-		
-		fSelectionChangedListener = new ISelectionChangedListener() {
-
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection  = fViewer.getSelection();
-				
-				if (selection.isEmpty())
-				{	
-					getButton(IDialogConstants.OK_ID).setEnabled(false);
-				}
-				else
-				{	
-					getButton(IDialogConstants.OK_ID).setEnabled(true);
-				}
-			}};
-		
-		fViewer.addSelectionChangedListener(fSelectionChangedListener);
-		
-		DebugPlugin.getDefault().getMemoryBlockManager().addListener(fMemoryBlockListener);
-		
-		return composite;
-	}
-
-	public AddMemoryRenderingDialog(Shell parent, IMemoryRenderingSite site) {
-		super(parent);
-		super.setTitle(DebugUIMessages.AddMemoryRenderingDialog_Add_memory_rendering); 
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		fSite = site;
-	}
-	
-	
-	private void doPopulateDialog(Combo combo, ListViewer viewer, String[] labels, int selectionIdx, IMemoryBlock currentBlock)
-	{	
-		// clean up
-		combo.removeAll();
-		
-		for (int i=0; i<labels.length; i++)
-		{
-			combo.add(labels[i]);
-		}
-
-		combo.select(selectionIdx);
-		fSelectedMemoryBlock = currentBlock;
-		
-		viewer.setInput(currentBlock);
-	}
-	
-	private IMemoryBlock getMemoryBlockToSelect(IMemoryBlock lastAdded)
-	{
-		IMemoryBlock currentBlock = null;
-		
-		if (lastAdded != null)
-			currentBlock = lastAdded;
-		else
-		{
-			// take Memory View's selection if possible
-			ISelectionProvider selectionProvider = fSite.getSite().getSelectionProvider();
-			ISelection selection = null;
-			
-			if (selectionProvider != null)
-				selection = selectionProvider.getSelection();
-			else // otherwise, take selection from selection service
-				selection = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_MEMORY_VIEW); 
-			
-			IDebugElement element = getMemoryBlock(selection);
-			
-			if (!(element instanceof IMemoryBlock))
-			{
-				
-				IAdaptable context = DebugUITools.getDebugContext();	
-				
-				if (context != null)
-				{
-					IDebugElement debugElement = (IDebugElement)context.getAdapter(IDebugElement.class);
-					
-					if (debugElement != null)
-					{
-						IMemoryBlock[] blocks = MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(debugElement.getDebugTarget());
-						
-						if (blocks.length > 0)
-							currentBlock = blocks[0];
-					}
-				}
-			}
-			else
-			{	
-				currentBlock = (IMemoryBlock)element;
-			}
-		}
-		return currentBlock;
-	}
-	
-	private String[] getLabels(IMemoryBlock[] memoryBlocks)
-	{
-		String[] labels = new String[memoryBlocks.length];
-		for (int i=0; i<memoryBlocks.length; i++)
-		{	
-			String text = ""; //$NON-NLS-1$
-			if (memoryBlocks[i] instanceof IMemoryBlockExtension)
-			{
-				try {
-					text = ((IMemoryBlockExtension)memoryBlocks[i]).getExpression();
-					
-					if (text == null)
-						text = DebugUIMessages.AddMemoryRenderingDialog_Unknown; 
-					
-					if (((IMemoryBlockExtension)memoryBlocks[i]).getBigBaseAddress() != null)
-					{
-						text += " : 0x"; //$NON-NLS-1$
-						text += ((IMemoryBlockExtension)memoryBlocks[i]).getBigBaseAddress().toString(16);
-					}	
-				} catch (DebugException e) {
-					long address = memoryBlocks[i].getStartAddress();
-					text = Long.toHexString(address);
-				}
-			}
-			else
-			{
-				long address = memoryBlocks[i].getStartAddress();
-				text = Long.toHexString(address);
-			}
-			
-			// ask decorator to decorate to ensure consistent label
-			ILabelDecorator decorator = (ILabelDecorator)fMemoryBlocks[i].getAdapter(ILabelDecorator.class);
-			if (decorator != null)
-				text = decorator.decorateText(text, fMemoryBlocks[i]);
-			
-			labels[i] = text;
-		}
-		return labels;
-	}
-	
-	private IMemoryBlock getMemoryBlock(ISelection selection)
-	{
-		if (!(selection instanceof IStructuredSelection))
-			return null;
-
-		//only single selection of PICLDebugElements is allowed for this action
-		if (selection.isEmpty() || ((IStructuredSelection)selection).size() > 1)
-		{
-			return null;
-		}
-
-		Object elem = ((IStructuredSelection)selection).getFirstElement();
-		
-		if (elem instanceof IMemoryBlock)
-			return (IMemoryBlock)elem;
-		else if (elem instanceof IMemoryRendering)
-			return ((IMemoryRendering)elem).getMemoryBlock();
-		else
-			return null;
-	}
-	
-	public IMemoryBlock getMemoryBlock()
-	{
-		return fSelectedMemoryBlock;
-	}
-	
-	/**
-	 * @param currentBlock
-	 */
-	private void populateDialog(IMemoryBlock currentBlock) {
-		final IMemoryBlock selectMB = currentBlock;
-		Job job = new Job("Populate dialog") //$NON-NLS-1$
-		{
-			protected IStatus run(IProgressMonitor monitor) {
-				fMemoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(selectMB.getDebugTarget());
-				int selectionIdx = 0;
-				for (int i=0; i<fMemoryBlocks.length; i++)
-				{
-					if (fMemoryBlocks[i] == selectMB)
-					{
-						selectionIdx = i;
-						break;
-					}
-				}
-				
-				final String[] labels = getLabels(fMemoryBlocks);
-				final int idx = selectionIdx;
-				final IMemoryBlock selectedBlk = selectMB;
-				WorkbenchJob wbJob = new WorkbenchJob("populate dialog"){ //$NON-NLS-1$
-
-					public IStatus runInUIThread(IProgressMonitor wbMonitor) {
-						doPopulateDialog(memoryBlock, fViewer, labels, idx, selectedBlk);	
-						return Status.OK_STATUS;
-					}};
-					wbJob.setSystem(true);
-					wbJob.schedule();		
-				return Status.OK_STATUS;
-			}};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	/**
-	 * 
-	 */
-	private void addNew() {
-		WorkbenchJob job = new WorkbenchJob("populate dialog"){ //$NON-NLS-1$
-
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				memoryBlock.add(DebugUIMessages.AddMemoryRenderingDialog_Add_New);
-				memoryBlock.select(0);
-				return Status.OK_STATUS;
-			}};
-		job.setSystem(true);
-		job.schedule();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java
deleted file mode 100644
index 0e9a103..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-public class CodePagesPreferencePage extends FieldEditorPreferencePage {
-
-	private StringFieldEditor fEbcdicCodePage;
-	private StringFieldEditor fAsciiCodePage;
-
-	protected CodePagesPreferencePage() {
-		super(FieldEditorPreferencePage.GRID);
-		setPreferenceStore(DebugUITools.getPreferenceStore());
-		setTitle(DebugUIMessages.CodePagesPrefDialog_1);
-	}
-
-	protected void createFieldEditors() {
-		fAsciiCodePage = new StringFieldEditor(IDebugUIConstants.PREF_DEFAULT_ASCII_CODE_PAGE, DebugUIMessages.CodePagesPrefDialog_2, getFieldEditorParent());
-		fAsciiCodePage.setEmptyStringAllowed(false);
-		addField(fAsciiCodePage);
-		
-		fEbcdicCodePage = new StringFieldEditor(IDebugUIConstants.PREF_DEFAULT_EBCDIC_CODE_PAGE, DebugUIMessages.CodePagesPrefDialog_4, getFieldEditorParent());
-		fEbcdicCodePage.setEmptyStringAllowed(false);
-		addField(fEbcdicCodePage);
-	}
-
-	public boolean performOk() {
-		
-		if (fAsciiCodePage == null || fEbcdicCodePage == null)
-			return super.performOk();
-		
-		// check that the codepages are supported
-		String asciiCodePage = fAsciiCodePage.getStringValue();
-		asciiCodePage = asciiCodePage.trim();
-		try {
-			new String(new byte[]{1}, asciiCodePage);
-		} catch (UnsupportedEncodingException e) {
-			Shell shell = DebugUIPlugin.getShell();
-			if (shell != null)
-			{
-				IStatus status = DebugUIPlugin.newErrorStatus(DebugUIMessages.CodePagesPrefDialog_0, e); 
-				ErrorDialog.openError(shell, DebugUIMessages.CodePagesPrefDialog_6,  DebugUIMessages.CodePagesPrefDialog_7, status);		 // 
-			}
-			return false;
-		}
-		
-		String ebcdicCodePage = fEbcdicCodePage.getStringValue();
-		ebcdicCodePage = ebcdicCodePage.trim();
-		try {
-			new String(new byte[]{1}, ebcdicCodePage);
-		} catch (UnsupportedEncodingException e) {
-			Shell shell = DebugUIPlugin.getShell();
-			if (shell != null)
-			{
-				IStatus status = DebugUIPlugin.newErrorStatus(DebugUIMessages.CodePagesPrefDialog_0, e); 
-				ErrorDialog.openError(shell, DebugUIMessages.CodePagesPrefDialog_8,  DebugUIMessages.CodePagesPrefDialog_9, status);		 // 
-			}
-			return false;
-		}
-		return super.performOk();
-	}
-
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, DebugUIPlugin.getUniqueIdentifier() + ".CodePagesPrefDialog_context"); //$NON-NLS-1$
-		return super.createContents(parent);
-	}
-
-}
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 aa0ae65..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.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/IMemoryViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.java
deleted file mode 100644
index e7329f1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-
-/**
- * Represent a view pane in the memory view.
- * 
- * This is an internal interface for mananging the view panes within the Memory View
- * @since 3.1
- */
-public interface IMemoryViewPane {
-	
-	/**
-	 * Create the view pane with the given parent composite, and pane
-	 * id. 
-	 * @param parent
-	 * @param paneId
-	 * @param label
-	 * @return the control of the view pane
-	 */
-	public Control createViewPane(Composite parent, String paneId, String label);
-	
-	/**
-	 * Restore view pane based on current selection from the debug view.
-	 * Create memory blocks or renderings that currently exist in  the debug
-	 * session.
-	 */
-	public void restoreViewPane();
-	
-	/**
-	 * Dispose the view pane
-	 */
-	public void dispose();
-	
-	/**
-	 * @return unique identifier of the view pane
-	 */
-	public String getId();
-	
-	/**
-	 * @return array of actions to be contributed to the view pane's 
-	 * acition bar.
-	 */
-	public IAction[] getActions();
-	
-	/**
-	 * Add the given selection listener to the view pane.  The selection
-	 * listener gets notified when the selection from the view pane
-	 * has changed.
-	 * @param listener
-	 */
-	public void addSelectionListener(ISelectionChangedListener listener);
-	
-	/**
-	 * Remove the selection listener from the view pane. The listener
-	 * will no longer get notified when selection is changed.
-	 * @param listener
-	 */
-	public void removeSelctionListener(ISelectionChangedListener listener);
-	
-	/**
-	 * @return the selection provider of the view pane
-	 */
-	public ISelectionProvider getSelectionProvider();
-	
-	/**
-	 * @return the control for ths memory view pane
-	 */
-	public Control getControl();
-	
-	/**
-	 * Called when the view pane becomes visible or hidden
-	 * @param visible visibility state of teh view pane
-	 */
-	public void setVisible(boolean visible);
-	
-	/**
-	 * @return if the view pane is currently visible
-	 */
-	public boolean isVisible();
-
-}
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 c9dab6a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-
-
-/**
- * Represent a view tab in the Memory View or Memory Rendering View
- * 
- * Refer to AbstractMemoryViewTab.
- * This is an internal interface. This class is not intended to be implemented by clients.
- * 
- * @since 3.0
- */
-public interface IMemoryViewTab
-{	
-	/**
-	 * Remove the view tab.
-	 */
-	public void dispose();
-	
-	/**
-	 * @return if the view tab is disposed
-	 */
-	public boolean isDisposed();
-	
-	/**
-	 * @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);
-	
-	/**
-	 * 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 the rendering of this view tab
-	 */
-	public IMemoryRendering getRendering();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java
deleted file mode 100644
index 767f3c5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * Action to link/unlink rendering view panes
- */
-public class LinkRenderingPanesAction implements IViewActionDelegate{
-
-	IMemoryRenderingSite fRenderingSite;
-	private MemoryViewSynchronizationService fMemSyncService;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {	
-		
-		if (view instanceof IMemoryRenderingSite)
-		{
-			fRenderingSite = (IMemoryRenderingSite)view;
-			
-			IMemoryRenderingSynchronizationService syncService = fRenderingSite.getSynchronizationService();
-			
-			if (syncService instanceof MemoryViewSynchronizationService)
-				fMemSyncService = (MemoryViewSynchronizationService)syncService;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		
-		if (fMemSyncService == null)
-			return;
-		
-		fMemSyncService.setEnabled(!fMemSyncService.isEnabled());
-		updateActionState(action);
-	}
-
-	/**
-	 * @param action
-	 */
-	private void updateActionState(IAction action) {
-		
-		if (fMemSyncService == null)
-			return;
-		
-		if (fMemSyncService.isEnabled())
-			action.setChecked(true);
-		else
-			action.setChecked(false);
-	}
-
-	/* (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) {
-		updateActionState(action);		
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java
deleted file mode 100644
index 04fe7b5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java
+++ /dev/null
@@ -1,698 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
- 
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.IAdaptable;
-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.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.IMemoryBlockListener;
-import org.eclipse.debug.core.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.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.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.memory.provisional.MemoryViewPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.views.variables.ViewerState;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-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.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-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.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.swt.SWT;
-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.swt.widgets.TreeItem;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.UIJob;
-
-
-/**
- * Tree viewer for memory blocks
- */
-public class MemoryBlocksTreeViewPane implements ISelectionListener, ISelectionChangedListener,  IMemoryViewPane, IMemoryRenderingContainer{
-	
-	public static final String PANE_ID = DebugUIPlugin.getUniqueIdentifier() + ".MemoryView.MemoryBlocksTreeViewPane"; //$NON-NLS-1$
-	
-	private IViewPart fParent;
-	private AsynchronousTreeViewer fTreeViewer;
-	protected IMemoryBlockRetrieval fRetrieval;
-	private ViewPaneSelectionProvider fSelectionProvider;
-	private AddMemoryBlockAction fAddMemoryBlockAction;
-	private IAction fRemoveMemoryBlockAction;
-	private IAction fRemoveAllMemoryBlocksAction;
-	private String fPaneId;
-	private boolean fVisible = true;
-	private TreeViewPaneContextListener fDebugContextListener;
-	private ViewPaneEventHandler fEvtHandler;
-	private Hashtable fViewerState = new Hashtable();			// for saving and restoring expansion and selection
-	private String fLabel;
-	
-	class TreeViewerRemoveMemoryBlocksAction extends Action
-	{
-		TreeViewerRemoveMemoryBlocksAction()
-		{
-			super();
-			setText(DebugUIMessages.RemoveMemoryBlockAction_title); 
-
-			setToolTipText(DebugUIMessages.RemoveMemoryBlockAction_tooltip); 
-			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_MEMORY));	
-			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_REMOVE_MEMORY));
-			setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE_MEMORY));
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".RemoveMemoryBlockAction_context"); //$NON-NLS-1$
-			setEnabled(true);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.action.IAction#run()
-		 */
-		public void run() {
-			ISelection selected = fTreeViewer.getSelection();
-			
-			if (selected != null && selected instanceof IStructuredSelection)
-			{
-				Object[] selectedMemBlks = ((IStructuredSelection)selected).toArray();
-				ArrayList memoryBlocks = new ArrayList();
-				for (int i=0; i<selectedMemBlks.length; i++)
-				{
-					if (selectedMemBlks[i] instanceof IMemoryBlock)
-						memoryBlocks.add(selectedMemBlks[i]);
-				}
-				
-				DebugPlugin.getDefault().getMemoryBlockManager().removeMemoryBlocks((IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]));
-			}
-		}
-	}
-	
-	class TreeViewerRemoveAllMemoryBlocksAction extends Action
-	{
-		TreeViewerRemoveAllMemoryBlocksAction()
-		{
-			super();
-			setText(DebugUIMessages.MemoryBlocksTreeViewPane_2); 
-
-			setToolTipText(DebugUIMessages.MemoryBlocksTreeViewPane_2); 
-			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_ALL));	
-			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_ALL));
-			setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE_ALL));
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".RemoveAllMemoryBlocksAction_context"); //$NON-NLS-1$
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.action.IAction#run()
-		 */
-		public void run() {
-			
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window == null) {
-				return;
-			}
-			boolean proceed = MessageDialog.openQuestion(window.getShell(), DebugUIMessages.MemoryBlocksTreeViewPane_0, DebugUIMessages.MemoryBlocksTreeViewPane_1); // 
-			if (proceed) {
-				IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(fRetrieval);
-				DebugPlugin.getDefault().getMemoryBlockManager().removeMemoryBlocks(memoryBlocks);
-			}
-		}		
-	}
-	
-	class ViewPaneEventHandler implements IMemoryBlockListener, IDebugEventSetListener
-	{
-		private boolean fDisposed = false;
-		
-		public ViewPaneEventHandler()
-		{
-			DebugPlugin.getDefault().getMemoryBlockManager().addListener(this);
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			fDisposed = true;
-			fTreeViewer.dispose();
-			DebugPlugin.getDefault().getMemoryBlockManager().removeListener(this);
-			DebugPlugin.getDefault().removeDebugEventListener(this);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock)
-		 */
-		public void memoryBlocksAdded(final IMemoryBlock[] memory) {
-			// if the content provider is disposed, do not handle event
-			if (fDisposed)
-				return;
-			updateActionsEnablement();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock)
-		 */
-		public void memoryBlocksRemoved(final IMemoryBlock[] memory) {
-			if (fDisposed)
-				return;
-			updateActionsEnablement();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.ui.views.memory.BasicDebugViewContentProvider#doHandleDebugEvent(org.eclipse.debug.core.DebugEvent)
-		 */
-		protected void doHandleDebugEvent(DebugEvent event) {
-			
-			// if the view is disposed, do not handle event
-			if (fDisposed)
-				return;
-			
-			if (event.getKind() == DebugEvent.TERMINATE)
-			{
-				IMemoryBlockRetrieval srcRetrieval = getMemoryBlockRetrieval(event.getSource());
-				if (srcRetrieval == fRetrieval)
-				{
-					// #setInput must be done on the UI thread
-					UIJob job = new UIJob("setInput"){ //$NON-NLS-1$
-						public IStatus runInUIThread(IProgressMonitor monitor) {
-							
-							// if viewpane is disposed, do not handle event							
-							if (fTreeViewer.getContentProvider() == null)
-								return  Status.OK_STATUS;
-							
-							fTreeViewer.setInput(null);
-							return Status.OK_STATUS;
-						}};
-						
-					job.setSystem(true);
-					job.schedule();
-				}
-				
-				IMemoryBlockRetrieval retrieval = getMemoryBlockRetrieval(event.getSource());
-				if (retrieval != null)
-					fViewerState.remove(retrieval);
-
-			}
-		}
-
-		public void handleDebugEvents(DebugEvent[] events) {
-			for (int i=0; i<events.length; i++)
-			{
-				doHandleDebugEvent(events[i]);
-			}
-		}
-	}
-	
-	class MemoryViewerState extends ViewerState implements Cloneable
-	{
-		private Hashtable fPathMap = new Hashtable(); 
-		private AsynchronousTreeViewer fViewer;
-		
-		public MemoryViewerState() {}
-		public MemoryViewerState(AsynchronousTreeViewer viewer) {
-			super(viewer);
-			fViewer = viewer;
-		}
-
-		protected IPath encodeElement(TreeItem item) throws DebugException {
-			if (fViewer != null)
-			{
-				IPath path = super.encodeElement(item);
-				TreePath[] paths = fViewer.getTreePaths(item.getData());
-				if (paths.length > 0)
-				{
-					fPathMap.put(path, paths[0]);
-				}
-				return path;
-			}
-			
-			return null;
-		}
-
-		protected TreePath decodePath(IPath path, AsynchronousTreeViewer viewer) throws DebugException {
-			return (TreePath)fPathMap.get(path);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.ui.views.AbstractViewerState#clone()
-		 */
-		public Object clone() {
-			MemoryViewerState clone = (MemoryViewerState) super.clone();
-			clone.fViewer = fViewer;
-			clone.fPathMap = fPathMap;
-			return clone;
-		}
-	}
-	
-	class TreeViewPaneContextListener implements IDebugContextListener
-	{
-		public void contextActivated(ISelection selection, IWorkbenchPart part) {
-			
-			if (selection instanceof IStructuredSelection)
-			{
-				Object obj = ((IStructuredSelection)selection).getFirstElement();
-				if (obj instanceof IAdaptable)
-				{
-					IAdaptable context = (IAdaptable)obj;
-					IMemoryBlockRetrieval retrieval = getMemoryBlockRetrieval(context);
-					if (retrieval != null && fTreeViewer != null && retrieval != fRetrieval)
-					{
-						// save current setting
-						if (fRetrieval != null)
-						{
-							MemoryViewerState state = (MemoryViewerState)fViewerState.get(fRetrieval);
-							if (state == null)
-								state = new MemoryViewerState(fTreeViewer);
-							state.saveState(fTreeViewer);
-							fViewerState.put(fRetrieval, state);
-						}
-						
-						// set new setting
-						fRetrieval = retrieval;
-						fTreeViewer.setInput(fRetrieval);
-						
-						MemoryViewerState newState = (MemoryViewerState)fViewerState.get(fRetrieval);
-						if (newState != null)
-						{
-							newState.restoreState(fTreeViewer);
-						}
-					}
-					updateActionsEnablement();
-				}
-			}
-		}
-
-		public void contextChanged(ISelection selection, IWorkbenchPart part) {
-		}
-	}
-	
-	
-	public MemoryBlocksTreeViewPane(IViewPart parent)
-	{
-		fParent = parent;
-		fSelectionProvider = new ViewPaneSelectionProvider();
-	}
-	
-	public Control createViewPane(Composite parent, String paneId, String label)
-	{
-		fPaneId = paneId;
-		fTreeViewer = new MemoryViewTreeViewer(parent);
-		fLabel = label;
-		
-		IMemoryRenderingSite site = getMemoryRenderingSite();
-		MemoryViewPresentationContext presentationContext = new MemoryViewPresentationContext(site, this, null);
-		fTreeViewer.setContext(presentationContext);
-		
-		IAdaptable context = DebugUITools.getDebugContext();
-		IMemoryBlockRetrieval retrieval = getMemoryBlockRetrieval(context);
-		fTreeViewer.setInput(retrieval);
-		fRetrieval = retrieval;
-		
-		fParent.getViewSite().getSelectionProvider().addSelectionChangedListener(this);
-		fParent.getViewSite().getPage().addSelectionListener(this);
-		
-		fDebugContextListener = new TreeViewPaneContextListener();
-		DebugContextManager.getDefault().addDebugContextListener(fDebugContextListener, fParent.getSite().getWorkbenchWindow());
-		
-		fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection treeSelected = event.getSelection();
-				fSelectionProvider.setSelection(treeSelected);
-			}});
-
-		populateViewPane();
-		fEvtHandler = new ViewPaneEventHandler();
-		
-		// create context menu
-		MenuManager mgr = createContextMenuManager();
-		Menu menu = mgr.createContextMenu(fTreeViewer.getControl());
-		fTreeViewer.getControl().setMenu(menu);
-		
-		GridData data = new GridData();
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		data.horizontalAlignment = SWT.FILL;
-		data.verticalAlignment = SWT.FILL;
-		fTreeViewer.getControl().setLayoutData(data);
-		
-		updateActionsEnablement();
-		
-		return fTreeViewer.getControl();
-	}
-	
-	
-	/**
-	 * 
-	 */
-	private void populateViewPane() {
-		
-		Object context = DebugUITools.getDebugContext();
-		fRetrieval = MemoryViewUtil.getMemoryBlockRetrieval(context);
-		
-		ISelection selection = null;
-		if (fParent.getSite().getSelectionProvider() != null)
-			selection = fParent.getSite().getSelectionProvider().getSelection();
-		
-		IMemoryBlock memoryBlock = null;
-		
-		if (selection == null)
-		{
-			return;
-		}
-		
-		// get memory block from selection if selection is not null
-		memoryBlock = getMemoryBlock(selection);
-		
-		if (memoryBlock == null)
-		{
-			IMemoryBlock [] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(fRetrieval);
-			if (memoryBlocks.length > 0)
-				memoryBlock = memoryBlocks[0];
-		}
-		
-		TreePath[] paths = getTreePaths(memoryBlock);
-		
-		// Set selection if tree path is not empty
-		if (memoryBlock != null && paths != null && paths.length > 0)
-		{
-			fTreeViewer.setSelection(new TreeSelection(paths));
-		}
-	}
-	
-	private IMemoryBlock getMemoryBlock(ISelection selection)
-	{
-		if (!(selection instanceof IStructuredSelection))
-			return null;
-
-		//only single selection of PICLDebugElements is allowed for this action
-		if (selection.isEmpty() || ((IStructuredSelection)selection).size() > 1)
-		{
-			return null;
-		}
-
-		Object elem = ((IStructuredSelection)selection).getFirstElement();
-		
-		if (elem instanceof IMemoryBlock)
-			return (IMemoryBlock)elem;
-		else if (elem instanceof IMemoryRendering)
-			return ((IMemoryRendering)elem).getMemoryBlock();
-		else
-			return null;
-	}
-
-	protected MenuManager createContextMenuManager() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				manager.add(fAddMemoryBlockAction);
-				manager.add(fRemoveMemoryBlockAction);
-				manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-			}
-		});
-
-		// register a context menu manager, use its pane id as the menu id
-		fParent.getSite().registerContextMenu(getId(), menuMgr, fSelectionProvider);
-		return menuMgr;
-	}
-	
-	public void dispose()
-	{
-		fParent.getViewSite().getSelectionProvider().removeSelectionChangedListener(this);
-		fParent.getViewSite().getPage().removeSelectionListener(this); 
-		fAddMemoryBlockAction.dispose();
-		DebugContextManager.getDefault().removeDebugContextListener(fDebugContextListener, fParent.getSite().getWorkbenchWindow());
-		fEvtHandler.dispose();
-	}
-
-	/* (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 (selection instanceof IStructuredSelection)
-		{
-			Object obj = ((IStructuredSelection)selection).getFirstElement();
-		
-			if (obj instanceof IMemoryBlock)
-			{
-				// if the selection event comes from this view
-				if (part == fParent)
-				{
-					// do not change selection if the selection is already correct
-					ISelection treeSel = fTreeViewer.getSelection();
-					if (treeSel instanceof IStructuredSelection)
-					{
-						if (((IStructuredSelection)treeSel).getFirstElement() == obj)
-							return;
-					}
-					
-					// fTreeViewer must take a TreeSelection
-					// When selection is set, the tree may not have been populated with the 
-					// selected object yet.  As a result, we will not be able to compute the tree
-					// path and create tree selection for client.
-					// As a work around, clients may create TreeSelection and set it as the selection
-					// in the Memory View.
-					// Need to think about if this is the way to go.  Added this code to make sure
-					// clients can set selections successfully.
-					if (selection instanceof TreeSelection)
-					{
-						// if already a tree selection, set selection
-						fTreeViewer.setSelection(selection);
-					}
-					else
-					{
-						// otherwise, try to convert to a tree selection
-						TreePath[] paths = getTreePaths(obj);
-						if (paths != null)
-							fTreeViewer.setSelection(new TreeSelection(paths));
-					}
-				}
-			}
-		}
-	}
-
-	private TreePath[] getTreePaths(Object selectedObj) {
-		return fTreeViewer.getTreePaths(selectedObj);
-	}
-
-	private IMemoryBlockRetrieval getMemoryBlockRetrieval(Object obj) {
-		IAdaptable adaptable = (IAdaptable)obj;
-		IMemoryBlockRetrieval retrieval = null;
-		if (adaptable != null)
-		{
-			retrieval = (IMemoryBlockRetrieval)adaptable.getAdapter(IMemoryBlockRetrieval.class);
-			if(retrieval == null && obj instanceof IDebugElement)
-			{
-				IDebugTarget debugTarget = ((IDebugElement)obj).getDebugTarget();
-				if (debugTarget != null)
-					retrieval = debugTarget;
-			}
-		}
-		return retrieval;
-	}
-	
-	public String getId()
-	{
-		return fPaneId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getActions()
-	 */
-	public IAction[] getActions() {
-		
-		if (fAddMemoryBlockAction == null)
-			fAddMemoryBlockAction = new RetargetAddMemoryBlockAction((IMemoryRenderingSite)fParent);
-		
-		if (fRemoveMemoryBlockAction == null)
-		{
-			fRemoveMemoryBlockAction = new TreeViewerRemoveMemoryBlocksAction();
-		}
-		
-		if (fRemoveAllMemoryBlocksAction == null)
-		{
-			fRemoveAllMemoryBlocksAction = new TreeViewerRemoveAllMemoryBlocksAction();
-		}
-		
-		updateActionsEnablement();
-		
-		return new IAction[]{fAddMemoryBlockAction, fRemoveMemoryBlockAction, fRemoveAllMemoryBlocksAction};
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#addSelectionListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-	 */
-	public void addSelectionListener(ISelectionChangedListener listener)
-	{
-		if (fSelectionProvider == null)
-			fSelectionProvider = new ViewPaneSelectionProvider();
-		
-		fSelectionProvider.addSelectionChangedListener(listener);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#removeSelctionListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-	 */
-	public void removeSelctionListener(ISelectionChangedListener listener)
-	{
-		if (fSelectionProvider == null)
-			return;
-		
-		fSelectionProvider.removeSelectionChangedListener(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getSelectionProvider()
-	 */
-	public ISelectionProvider getSelectionProvider() {
-		return fSelectionProvider;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#restoreViewPane()
-	 */
-	public void restoreViewPane() {
-		populateViewPane();
-		updateActionsEnablement();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getControl()
-	 */
-	public Control getControl() {
-		return fTreeViewer.getControl();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		if (fVisible != visible)
-		{
-			fVisible = visible;
-			
-			if(fVisible)
-			{
-				fTreeViewer.refresh();
-				fTreeViewer.getControl().setFocus();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#isVisible()
-	 */
-	public boolean isVisible() {
-		return fVisible;
-	}
-	
-	private void updateActionsEnablement()
-	{
-		if (fRemoveMemoryBlockAction == null)
-			return;
-		
-		if (fRemoveAllMemoryBlocksAction == null)
-			return;
-		
-		if (fRetrieval != null)
-		{
-			IMemoryBlock[] memBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(fRetrieval);
-			if(memBlocks.length > 0)
-			{
-				fRemoveMemoryBlockAction.setEnabled(true);
-				fRemoveAllMemoryBlocksAction.setEnabled(true);
-			}
-			else
-			{
-				fRemoveMemoryBlockAction.setEnabled(false);
-				fRemoveAllMemoryBlocksAction.setEnabled(false);				
-			}
-		}
-		else
-		{
-			fRemoveMemoryBlockAction.setEnabled(false);
-			fRemoveAllMemoryBlocksAction.setEnabled(false);
-		}
-	}
-
-	public void selectionChanged(SelectionChangedEvent event) {
-		// only handle selection changed from parent's selection provider
-		if (event.getSource() == fParent.getSite().getSelectionProvider())
-		{
-			MemoryBlocksTreeViewPane.this.selectionChanged(fParent, event.getSelection());
-		}
-	}
-	
-	public AsynchronousTreeViewer getViewer()
-	{
-		return fTreeViewer;
-	}
-
-	public IMemoryRenderingSite getMemoryRenderingSite() {
-		if (fParent instanceof IMemoryRenderingSite)
-			return (IMemoryRenderingSite)fParent;
-		return null;
-	}
-
-	public void addMemoryRendering(IMemoryRendering rendering) {
-		// do nothing
-	}
-
-	public void removeMemoryRendering(IMemoryRendering rendering) {
-		// do nothing
-	}
-
-	public IMemoryRendering[] getRenderings() {
-		return new IMemoryRendering[0];
-	}
-
-	public IMemoryRendering getActiveRendering() {
-		return null;
-	}
-
-	public String getLabel() {
-		return fLabel;
-	}
-}
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 828eab6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
+++ /dev/null
@@ -1,836 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.Command;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarManager;
-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.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ICommandService;
-import org.eclipse.ui.contexts.IContextActivation;
-import org.eclipse.ui.contexts.IContextService;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * 
- * @since 3.0
- */
-public class MemoryView extends ViewPart implements IMemoryRenderingSite {
-
-	protected MemoryViewSelectionProvider fSelectionProvider;
-	private MemoryViewPartListener fPartListener;
-	
-	private SashForm fSashForm;
-	private Hashtable fViewPanes = new Hashtable();
-	private Hashtable fViewPaneControls = new Hashtable();
-	private ArrayList fVisibleViewPanes = new ArrayList();
-	private boolean fVisible;
-	
-	private ArrayList fWeights = new ArrayList();
-	
-	private static final String VISIBILITY_PREF = IDebugUIConstants.ID_MEMORY_VIEW+".viewPanesVisibility"; //$NON-NLS-1$
-	private static final String ID_MEMORY_VIEW_CONTEXT = "org.eclipse.debug.ui.memoryview"; //$NON-NLS-1$
-	private static final String ID_ADD_MEMORY_BLOCK_COMMAND = "org.eclipse.debug.ui.commands.addMemoryMonitor"; //$NON-NLS-1$
-	private static final String ID_TOGGLE_MEMORY_MONITORS_PANE_COMMAND = "org.eclipse.debug.ui.commands.toggleMemoryMonitorsPane"; //$NON-NLS-1$
-	private static final String ID_NEXT_MEMORY_BLOCK_COMMAND = "org.eclipse.debug.ui.commands.nextMemoryBlock"; //$NON-NLS-1$
-	
-	public static final String VIEW_PANE_ORIENTATION_PREF = IDebugUIConstants.ID_MEMORY_VIEW+".orientation"; //$NON-NLS-1$
-	public static final int HORIZONTAL_VIEW_ORIENTATION = 0;
-	public static final int VERTICAL_VIEW_ORIENTATION =1;
-
-	private String[] defaultVisiblePaneIds ={MemoryBlocksTreeViewPane.PANE_ID, IDebugUIConstants.ID_RENDERING_VIEW_PANE_1};
-		
-	private MemoryBlocksTreeViewPane fMemBlkViewer;
-	
-	private MemoryViewSynchronizationService fSyncService;
-	
-	private boolean fPinMBDisplay = false;	// pin memory block display, on by default
-	private static int fViewCnt = 0;
-
-	private IContextActivation fContext;
-	
-	private AbstractHandler fAddHandler;
-	private AbstractHandler fToggleMonitorsHandler;
-	private AbstractHandler fNextMemoryBlockHandler;
-	
-	private ViewPaneOrientationAction[] fOrientationActions;
-	private int fViewOrientation = HORIZONTAL_VIEW_ORIENTATION;
-	
-	private String fActivePaneId;
-		
-	class MemoryViewSelectionProvider implements ISelectionProvider, ISelectionChangedListener
-	{
-		ArrayList fListeners = new ArrayList();
-		
-		IStructuredSelection fSelections = new StructuredSelection();
-
-		/* (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 fSelections;
-		}
-
-		/* (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)
-		{
-			if (selection instanceof IStructuredSelection)
-			{		
-				boolean fireChanged = false;
-				
-				// only fire change event if the selection has really changed
-				if (fSelections.getFirstElement() != ((IStructuredSelection)selection).getFirstElement())
-					fireChanged = true;
-				
-				fSelections = (IStructuredSelection)selection;
-				
-				if (fireChanged)
-					fireChanged();
-			}
-		}
-		
-		public void fireChanged()
-		{
-			SelectionChangedEvent evt = new SelectionChangedEvent(this, getSelection());
-			for (int i=0; i<fListeners.size(); i++)
-			{
-				((ISelectionChangedListener)fListeners.get(i)).selectionChanged(evt);
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-		 */
-		public void selectionChanged(SelectionChangedEvent event) {
-			ISelection viewPaneSelection = event.getSelection();
-			
-			if (viewPaneSelection instanceof IStructuredSelection)
-			{
-				Object selected = ((IStructuredSelection)viewPaneSelection).getFirstElement();
-			
-				if (selected != null)
-				{
-					StructuredSelection strucSelection = new StructuredSelection(new Object[]{selected});
-					setSelection(strucSelection);
-				}
-				else
-				{
-					setSelection(viewPaneSelection);
-				}
-			}
-		}
-	}
-	
-	class MemoryViewPartListener implements IPartListener2
-	{
-		IMemoryRenderingSite fView = null;
-		
-		public MemoryViewPartListener(IMemoryRenderingSite view)
-		{
-			fView = view;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
-		 */
-		public void partActivated(IWorkbenchPartReference ref) {
-			if (ref.getPart(false) == fView)
-				activated();
-		}
-
-		/* (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) {
-			if (ref.getPart(false) == fView)
-				deactivated();
-		}
-
-		/* (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)
-			{
-				setVisible(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)
-			{
-				setVisible(true);
-				restoreView();
-			}
-
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
-		 */
-		public void partInputChanged(IWorkbenchPartReference ref) {
-		}
-
-		public void partOpened(IWorkbenchPartReference ref)
-		{	
-		}
-	}
-	
-	public void init(IViewSite site) throws PartInitException {
-		super.init(site);
-		
-		fViewCnt ++;
-		String secondaryId = site.getSecondaryId();
-		if (secondaryId != null)
-			MemoryViewIdRegistry.registerView(secondaryId);
-		
-		// only do this the first time
-		// not sure if there is a bug in the UI... if the view is
-		// not a primary view and if it's hidden, the view is not
-		// init and created until it becomes visible.
-		if (fViewCnt == 1)
-		{
-			// also try to find other views and register
-			if (DebugUIPlugin.getActiveWorkbenchWindow() != null &&
-				DebugUIPlugin.getActiveWorkbenchWindow().getActivePage() != null)
-			{
-				IViewReference references[] = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage().getViewReferences();
-				for (int i=0; i<references.length; i++)
-				{
-					if (references[i].getSecondaryId() != null)
-					{
-						MemoryViewIdRegistry.registerView(references[i].getSecondaryId());
-					}
-				}
-			}
-		}
-		
-		fSyncService = new MemoryViewSynchronizationService();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		fSashForm = new SashForm(parent, SWT.HORIZONTAL);
-		
-		fSelectionProvider = new MemoryViewSelectionProvider();
-		
-		// set up selection provider and listeners
-		getSite().setSelectionProvider(fSelectionProvider);
-
-		createMemoryBlocksTreeViewPane(fSashForm);
-		createRenderingViewPane(IDebugUIConstants.ID_RENDERING_VIEW_PANE_1);
-		createRenderingViewPane(IDebugUIConstants.ID_RENDERING_VIEW_PANE_2);
-		
-		setVisible(true);
-		
-		// set up weights in sashform
-		Integer[] weights = (Integer[])fWeights.toArray(new Integer[fWeights.size()]);
-		int[] intWeights = new int[weights.length];
-		for (int i=0; i<weights.length; i++)
-		{
-			intWeights[i] = weights[i].intValue();
-		}
-		fSashForm.setWeights(intWeights);
-		loadViewPanesVisibility();
-		
-		createOrientationActions();
-		loadOrientation();
-		
-		fPartListener = new MemoryViewPartListener(this);
-		getSite().getPage().addPartListener(fPartListener);
-		
-		// restore view pane after finishing creating all the view panes
-		restoreView();
-	}
-
-	
-    public void activated() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		ICommandService commandSupport = (ICommandService)workbench.getAdapter(ICommandService.class);
-		IContextService contextSupport = (IContextService)workbench.getAdapter(IContextService.class);
-		
-		if (commandSupport != null && contextSupport != null)
-		{
-			fContext = contextSupport.activateContext(ID_MEMORY_VIEW_CONTEXT);
-			Command addCommand = commandSupport.getCommand(ID_ADD_MEMORY_BLOCK_COMMAND);
-			
-			// dynamically change handler on Add Memory Monitor command based
-			// on which Memory View is active
-			if (fAddHandler == null)
-			{
-				fAddHandler = new AbstractHandler() {
-					public Object execute(ExecutionEvent event) throws ExecutionException {
-						IAdaptable context = DebugUITools.getDebugContext();
-						if (context != null && MemoryViewUtil.isValidSelection(new StructuredSelection(context)))
-						{
-							RetargetAddMemoryBlockAction action = new RetargetAddMemoryBlockAction(MemoryView.this);
-							action.run();
-							action.dispose();
-						}
-						return null;
-					}};
-			}
-			addCommand.setHandler(fAddHandler);
-			
-			Command toggleCommand = commandSupport.getCommand(ID_TOGGLE_MEMORY_MONITORS_PANE_COMMAND);
-			if (fToggleMonitorsHandler == null)
-			{
-				fToggleMonitorsHandler = new AbstractHandler() {
-					public Object execute(ExecutionEvent event) throws ExecutionException {
-						ToggleMemoryMonitorsAction action = new ToggleMemoryMonitorsAction();
-						action.init(MemoryView.this);
-						action.run();
-						action.dispose();
-						return null;
-					}
-				};
-			}
-			toggleCommand.setHandler(fToggleMonitorsHandler);
-			
-			Command nextMemoryBlockCommand = commandSupport.getCommand(ID_NEXT_MEMORY_BLOCK_COMMAND);
-			if (nextMemoryBlockCommand != null) {
-				fNextMemoryBlockHandler = new AbstractHandler() {
-
-					public Object execute(ExecutionEvent event)
-							throws ExecutionException {
-						SwitchMemoryBlockAction action = new SwitchMemoryBlockAction();
-						action.init(MemoryView.this);
-						action.run();
-						action.dispose();
-						return null;
-					}
-				};
-				nextMemoryBlockCommand.setHandler(fNextMemoryBlockHandler);
-			}
-		}
-    }
-    
-    public void deactivated()
-    {
-    	IWorkbench workbench = PlatformUI.getWorkbench();
-		ICommandService commandSupport = (ICommandService)workbench.getAdapter(ICommandService.class);
-		IContextService contextSupport = (IContextService)workbench.getAdapter(IContextService.class);
-		
-		if (commandSupport != null && contextSupport != null)
-		{
-			// 	remove handler
-			Command command = commandSupport.getCommand(ID_ADD_MEMORY_BLOCK_COMMAND);
-			command.setHandler(null);
-			
-			Command toggleCommand = commandSupport.getCommand(ID_TOGGLE_MEMORY_MONITORS_PANE_COMMAND);
-			toggleCommand.setHandler(null);
-			
-			if (fContext != null)
-				contextSupport.deactivateContext(fContext);
-		}
-    }
-	
-	/**
-	 * 
-	 */
-	private void createMemoryBlocksTreeViewPane(Composite parent) {
-		
-		fMemBlkViewer = new MemoryBlocksTreeViewPane(this);
-		fViewPanes.put(MemoryBlocksTreeViewPane.PANE_ID, fMemBlkViewer);
-		ViewForm viewerViewForm = new ViewForm(parent, SWT.NONE);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(viewerViewForm, IDebugUIConstants.PLUGIN_ID + ".MemoryView_context"); //$NON-NLS-1$
-		fViewPaneControls.put(MemoryBlocksTreeViewPane.PANE_ID, viewerViewForm);
-		fWeights.add(new Integer(15));
-		
-		fMemBlkViewer.addSelectionListener(fSelectionProvider);
-		
-		Control viewerControl = fMemBlkViewer.createViewPane(viewerViewForm, MemoryBlocksTreeViewPane.PANE_ID, DebugUIMessages.MemoryView_Memory_monitors);
-		viewerViewForm.setContent(viewerControl);
-		
-		ISelection selection = fMemBlkViewer.getSelectionProvider().getSelection();
-		if (selection != null)
-			fSelectionProvider.setSelection(selection);	
-
-		ToolBarManager viewerToolBarMgr = new ToolBarManager(SWT.FLAT);	
-		IAction[] actions = fMemBlkViewer.getActions();
-		for (int i=0; i<actions.length; i++)
-		{
-			viewerToolBarMgr.add(actions[i]);
-		}
-		ToolBar viewerToolbar = viewerToolBarMgr.createControl(viewerViewForm);
-		viewerViewForm.setTopRight(viewerToolbar);
-		
-		Label viewerLabel = new Label(viewerViewForm, SWT.WRAP);
-		viewerLabel.setText(DebugUIMessages.MemoryView_Memory_monitors); 
-		viewerViewForm.setTopLeft(viewerLabel);
-		
-		fMemBlkViewer.getControl().addFocusListener(new FocusAdapter() {
-			public void focusGained(FocusEvent e) {
-				fActivePaneId = fMemBlkViewer.getId();
-			}});
-	}
-
-	/**
-	 * 
-	 */
-	public void createRenderingViewPane(final String paneId) {
-		RenderingViewPane renderingPane = new RenderingViewPane(this); 
-		fViewPanes.put(paneId, renderingPane);
-		ViewForm renderingViewForm = new ViewForm(fSashForm, SWT.NONE);
-		fViewPaneControls.put(paneId, renderingViewForm);
-		fWeights.add(new Integer(40));
-		
-		Control renderingControl = renderingPane.createViewPane(renderingViewForm, paneId, DebugUIMessages.MemoryView_Memory_renderings);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(renderingControl, IDebugUIConstants.PLUGIN_ID + ".MemoryView_context"); //$NON-NLS-1$
-		renderingViewForm.setContent(renderingControl);
-		renderingPane.addSelectionListener(fSelectionProvider);
-		
-		ToolBarManager renderingViewMgr = new ToolBarManager(SWT.FLAT);
-		IAction[] renderingActions = renderingPane.getActions();
-		for (int i=0; i<renderingActions.length; i++)
-		{
-			renderingViewMgr.add(renderingActions[i]);
-		}
-		
-		ToolBar renderingToolbar = renderingViewMgr.createControl(renderingViewForm);
-		renderingViewForm.setTopRight(renderingToolbar);
-		
-		Label renderingLabel = new Label(renderingViewForm, SWT.NONE);
-		renderingLabel.setText(renderingPane.getLabel());
-		renderingViewForm.setTopLeft(renderingLabel);
-		
-		renderingControl.addListener(SWT.Activate, new Listener() {
-			private String id=paneId; 
-			public void handleEvent(Event event) {
-				fActivePaneId = id;
-			}});
-
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (fActivePaneId == null)
-			fActivePaneId = fMemBlkViewer.getId();
-		
-		IMemoryViewPane pane = getViewPane(fActivePaneId);
-		pane.getControl().setFocus();
-	}
-	
-	public void dispose() {
-	    getSite().getPage().removePartListener(fPartListener);
-	    
-		Enumeration enumeration = fViewPanes.elements();
-		while (enumeration.hasMoreElements())
-		{
-			Object element = enumeration.nextElement();
-			if (element instanceof IMemoryViewPane)
-			{
-				((IMemoryViewPane)element).dispose();
-			}
-		}
-		
-		fViewPaneControls.clear();
-		
-		IViewSite viewSite = getViewSite();
-		String secondaryId = viewSite.getSecondaryId();
-		if (secondaryId != null)
-			MemoryViewIdRegistry.deregisterView(secondaryId);
-		
-		fSyncService.shutdown();
-		
-		if (fAddHandler != null)
-			fAddHandler.dispose();
-		
-		if (fToggleMonitorsHandler != null)
-			fToggleMonitorsHandler.dispose();
-		
-		if (fNextMemoryBlockHandler != null)
-			fNextMemoryBlockHandler.dispose();
-		
-		super.dispose();
-	}
-	
-	private void setVisible(boolean visible)
-	{
-		IMemoryViewPane[] viewPanes = getViewPanes();
-		
-		for (int i=0; i<viewPanes.length; i++)
-		{
-			// if currently visible, take view pane's visibility into account
-			// else force view pane to be visible if it is listed in
-			// "visible view panes" array list.
-			if (fVisible)
-				viewPanes[i].setVisible(visible && viewPanes[i].isVisible());
-			else
-			{
-				if (isViewPaneVisible(viewPanes[i].getId()))
-					viewPanes[i].setVisible(visible);
-			}	
-		}
-		
-		fVisible = visible;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#getViewPane(java.lang.String)
-	 */
-	public IMemoryViewPane getViewPane(String paneId) {
-		return (IMemoryViewPane)fViewPanes.get(paneId);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#getViewPanes()
-	 */
-	public IMemoryViewPane[] getViewPanes() {
-		IMemoryViewPane[] viewPanes = new IMemoryViewPane[fViewPanes.size()];
-
-		Enumeration enumeration = fViewPanes.elements();
-		int i=0;
-		while (enumeration.hasMoreElements())
-		{
-			viewPanes[i] = (IMemoryViewPane)enumeration.nextElement();
-			i++;
-		}
-		
-		return viewPanes;
-	}
-	
-	/**
-	 * Restore each view pane from the memory view based on current
-	 * debug selection
-	 */
-	private void restoreView() {
-		IMemoryViewPane[] viewPanes = getViewPanes();
-		for (int i=0; i<viewPanes.length; i++)
-		{
-			viewPanes[i].restoreViewPane();
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#showViewPane(boolean, java.lang.String)
-	 */
-	public void showViewPane(boolean show, String paneId) {
-		
-		Control viewPaneControl = (Control)fViewPaneControls.get(paneId);
-		
-		if (viewPaneControl != null)
-		{
-			Control children[] = fSashForm.getChildren();
-			
-			for (int i=0; i<children.length; i++)
-			{
-				if (children[i] == viewPaneControl)
-				{
-					children[i].setVisible(show);
-					IMemoryViewPane viewPane = (IMemoryViewPane)fViewPanes.get(paneId);
-					if (viewPane != null)
-						viewPane.setVisible(show);
-				}
-			}
-			fSashForm.layout();
-		}
-		
-		storeViewPaneVisibility();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#isViewPaneVisible(java.lang.String)
-	 */
-	public boolean isViewPaneVisible(String paneId) {
-		return fVisibleViewPanes.contains(paneId);
-	}
-	
-	private void storeViewPaneVisibility()
-	{		
-		fVisibleViewPanes.clear();
-		Preferences prefs = DebugUIPlugin.getDefault().getPluginPreferences();
-		StringBuffer visibleViewPanes= new StringBuffer();
-		
-		Enumeration enumeration = fViewPaneControls.keys();
-		
-		while (enumeration.hasMoreElements())
-		{
-			String paneId = (String)enumeration.nextElement();
-			
-			Control control = (Control)fViewPaneControls.get(paneId);
-			if (control.isVisible())
-			{
-				visibleViewPanes.append(paneId);
-				visibleViewPanes.append(","); //$NON-NLS-1$
-				fVisibleViewPanes.add(paneId);
-			}
-		}
-		
-		prefs.setValue(getVisibilityPrefId(), visibleViewPanes.toString());		 
-	}
-	
-	private void loadViewPanesVisibility()
-	{
-		Preferences prefs = DebugUIPlugin.getDefault().getPluginPreferences();
-		String visiblePanes = prefs.getString(getVisibilityPrefId());
-		
-		if (visiblePanes != null && visiblePanes.length() > 0)
-		{
-			StringTokenizer tokenizer = new StringTokenizer(visiblePanes, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens())
-			{
-				String paneId = tokenizer.nextToken();
-				fVisibleViewPanes.add(paneId);
-			}
-		}
-		else
-		{
-			for (int i=0 ;i<defaultVisiblePaneIds.length; i++)
-			{
-				fVisibleViewPanes.add(defaultVisiblePaneIds[i]);
-			}
-		}
-		
-		Enumeration enumeration = fViewPaneControls.keys();
-		while (enumeration.hasMoreElements())
-		{
-			String paneId = (String)enumeration.nextElement();
-			boolean visible = false;
-			if(fVisibleViewPanes.contains(paneId))
-				visible = true;
-			
-			Control control = (Control)fViewPaneControls.get(paneId);
-			control.setVisible(visible);
-			
-			IMemoryViewPane viewPane = (IMemoryViewPane)fViewPanes.get(paneId);
-			viewPane.setVisible(visible);
-		}
-		
-		fSashForm.layout();
-	}
-	
-	private void loadOrientation()
-	{
-		Preferences prefs = DebugUIPlugin.getDefault().getPluginPreferences();
-		fViewOrientation = prefs.getInt(getOrientationPrefId());
-		
-		for (int i=0; i<fOrientationActions.length; i++)
-		{
-			if (fOrientationActions[i].getOrientation() == fViewOrientation)
-			{
-				fOrientationActions[i].run();
-			}
-		}
-		updateOrientationActions();
-	}
-	
-	private void saveOrientation()
-	{
-		Preferences prefs = DebugUIPlugin.getDefault().getPluginPreferences();
-		prefs.setValue(getOrientationPrefId(), fViewOrientation);
-	}
-	
-	private void updateOrientationActions()
-	{
-		for (int i=0; i<fOrientationActions.length; i++)
-		{
-			if (fOrientationActions[i].getOrientation() == fViewOrientation)
-			{
-				fOrientationActions[i].setChecked(true);
-			}
-			else
-			{
-				fOrientationActions[i].setChecked(false);
-			}
-			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingSite#getSynchronizationService()
-	 */
-	public IMemoryRenderingSynchronizationService getSynchronizationService() {
-		return fSyncService;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingSite#getMemoryRenderingContainers()
-	 */
-	public IMemoryRenderingContainer[] getMemoryRenderingContainers() {
-		Enumeration enumeration = fViewPanes.elements();
-		ArrayList containers = new ArrayList();
-		while (enumeration.hasMoreElements()){
-			Object obj = enumeration.nextElement();
-			if (obj instanceof IMemoryRenderingContainer)
-				containers.add(obj);
-		}
-		
-		return (IMemoryRenderingContainer[])containers.toArray(new IMemoryRenderingContainer[containers.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingSite#getContainer(java.lang.String)
-	 */
-	public IMemoryRenderingContainer getContainer(String id) {
-		Object viewPane =  fViewPanes.get(id);
-		
-		if (viewPane instanceof IMemoryRenderingContainer)
-			return (IMemoryRenderingContainer)viewPane;
-		
-		return null;
-	}
-
-	public boolean isPinMBDisplay() {
-		return fPinMBDisplay;
-	}
-	
-
-	public void setPinMBDisplay(boolean pinMBDisplay) {
-		fPinMBDisplay = pinMBDisplay;
-	}
-	
-	private String getVisibilityPrefId()
-	{
-		IViewSite vs = getViewSite();
-		String viewId = vs.getSecondaryId();
-		
-		if (viewId != null)
-			return VISIBILITY_PREF + "." + viewId; //$NON-NLS-1$
-
-		return VISIBILITY_PREF;
-	}
-	
-	private String getOrientationPrefId()
-	{
-		IViewSite vs = getViewSite();
-		String viewId = vs.getSecondaryId();
-		
-		if (viewId != null)
-			return VIEW_PANE_ORIENTATION_PREF + "." + viewId; //$NON-NLS-1$
-
-		return VIEW_PANE_ORIENTATION_PREF;
-	}
-	
-	private void createOrientationActions()
-	{
-		IActionBars actionBars = getViewSite().getActionBars();
-		IMenuManager viewMenu = actionBars.getMenuManager();
-		
-		fOrientationActions = new ViewPaneOrientationAction[2];
-		fOrientationActions[0] = new ViewPaneOrientationAction(this, HORIZONTAL_VIEW_ORIENTATION);
-		fOrientationActions[1] = new ViewPaneOrientationAction(this, VERTICAL_VIEW_ORIENTATION);
-		
-		viewMenu.add(new Separator());
-		MenuManager layoutSubMenu = new MenuManager(VariablesViewMessages.VariablesView_40);
-		layoutSubMenu.add(fOrientationActions[0]);
-		layoutSubMenu.add(fOrientationActions[1]);
-		viewMenu.add(layoutSubMenu);
-		viewMenu.add(new Separator());
-	}
-	
-	public void setViewPanesOrientation(int orientation)
-	{
-		fViewOrientation = orientation;
-		if (fViewOrientation == VERTICAL_VIEW_ORIENTATION)
-			fSashForm.setOrientation(SWT.VERTICAL);
-		else
-			fSashForm.setOrientation(SWT.HORIZONTAL);
-		
-		saveOrientation();
-		updateOrientationActions();
-	}
-	
-	public int getViewPanesOrientation()
-	{
-		return fViewOrientation;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java
deleted file mode 100644
index f26a490..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-
-/**
- * Class for managing the secondary ids for Memory View
- *
- */
-public class MemoryViewIdRegistry{
-	
-	private static ArrayList fgRegistry;
-	
-	public static  void registerView(String secondaryId)
-	{
-		ArrayList registry = getRegistry();
-		
-		if (!registry.contains(secondaryId))
-		{
-			registry.add(secondaryId);
-		}
-	}
-	
-	public static  void deregisterView(String secondaryId)
-	{
-		ArrayList registry = getRegistry();
-		
-		if (registry.contains(secondaryId))
-		{
-			registry.remove(secondaryId);
-		}
-	}
-	
-	public static String getUniqueSecondaryId(String viewId)
-	{
-		int cnt = 0;
-		String id = viewId + "." + cnt; //$NON-NLS-1$
-		ArrayList registry = getRegistry();
-		while (registry.contains(id))
-		{
-			cnt ++;
-			id = viewId + "." + cnt; //$NON-NLS-1$
-		}
-		return id;
-	}
-	
-	private static ArrayList getRegistry()
-	{
-		if (fgRegistry == null)
-			fgRegistry = new ArrayList();
-		
-		return fgRegistry;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java
deleted file mode 100644
index 9b54d9f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-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.viewers.ISelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-public class MemoryViewPrefAction implements IViewActionDelegate {
-
-	public void init(IViewPart view) {
-
-	}
-
-	public void run(IAction action) {
-		
-		PreferenceManager prefManager = new PreferenceManager();
-		
-		ResetMemoryBlockPreferencePage page = new ResetMemoryBlockPreferencePage();
-		IPreferenceNode node = new PreferenceNode("org.eclipse.debug.ui.memory.resetMemoryBlock", page);  //$NON-NLS-1$
-		prefManager.addToRoot(node);
-		
-		SetPaddedStringPreferencePage page2 = new SetPaddedStringPreferencePage();
-		IPreferenceNode node2 = new PreferenceNode("org.eclipse.debug.ui.memory.setPaddedString", page2);  //$NON-NLS-1$
-		prefManager.addToRoot(node2);
-
-		CodePagesPreferencePage page3 = new CodePagesPreferencePage();
-		IPreferenceNode node3 = new PreferenceNode("org.eclipse.debug.ui.memory.codePages", page3);  //$NON-NLS-1$
-		prefManager.addToRoot(node3);
-		
-		final PreferenceDialog dialog = new PreferenceDialog(DebugUIPlugin.getShell(), prefManager);
-
-		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				dialog.open();
-			}
-		});		
-
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java
deleted file mode 100644
index 6ab8546..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.core.IMemoryBlockListener;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Synchronization service for the memory view.
- * @since 3.1
- */
-public class MemoryViewSynchronizationService implements
-		IMemoryRenderingSynchronizationService, IMemoryBlockListener, IPropertyChangeListener {
-
-	private static final int ENABLED = 0;
-	private static final int ENABLING = 1;
-	private static final int DISABLED = 2;
-	
-	private Hashtable fSynchronizeInfo;
-	private int fEnableState = ENABLED;
-	private Hashtable fPropertyListeners;
-	
-	private IMemoryRendering fLastChangedRendering;
-	private IMemoryRendering fSyncServiceProvider;
-
-	private static final boolean DEBUG_SYNC_SERVICE = false;
-	
-	public MemoryViewSynchronizationService()
-	{
-		fSynchronizeInfo = new Hashtable();
-		fPropertyListeners = new Hashtable();
-		MemoryViewUtil.getMemoryBlockManager().addListener(this);
-	}
-
-	/**
-	 * Wrapper for ISynchronizedMemoryBlockView
-	 * Holds a list of property filters for the view.
-	 */
-	class PropertyListener 
-	{
-		IPropertyChangeListener fListener;
-		String[] fFilters;
-		
-		public PropertyListener(IPropertyChangeListener listener, String[] properties)
-		{
-			fListener = listener;
-			
-			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 if the property is specified in the filter
-		 */
-		public boolean isValidProperty(String property){
-			if (fFilters == null)
-				return true;
-			for (int i=0; i<fFilters.length; i++)
-			{
-				if (fFilters[i].equals(property))
-				{
-					return true;
-				}
-			}
-			return false;
-		}
-
-		/**
-		 * Set property filters, indicating what property change events
-		 * the listener is interested in.
-		 * @param filters
-		 */
-		public void setPropertyFilters(String[] filters){	
-			fFilters = filters;
-		}
-
-		/**
-		 * @return Returns the fListener.
-		 */
-		public IPropertyChangeListener getListener() {
-			return fListener;
-		}
-	}
-	
-	/* (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 memoryBlocksAdded(IMemoryBlock[] memoryBlocks) {
-		// 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 memoryBlocksRemoved(IMemoryBlock[] memoryBlocks) {
-		
-		for (int i=0; i<memoryBlocks.length; i++)
-		{
-			IMemoryBlock memory = memoryBlocks[i];
-			// 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);
-			}
-		}
-	}
-	
-	/**
-	 * Clean up when the plugin is shutdown
-	 */
-	public void shutdown()
-	{
-		if (fSynchronizeInfo != null)
-		{	
-			Enumeration enumeration = fSynchronizeInfo.elements();
-			
-			// clean up all synchronize info objects
-			while (enumeration.hasMoreElements()){
-				SynchronizeInfo info = (SynchronizeInfo)enumeration.nextElement();
-				info.delete();
-			}
-			
-			fSynchronizeInfo.clear();
-			fSynchronizeInfo = null;
-		}
-		MemoryViewUtil.getMemoryBlockManager().removeListener(this);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener, java.lang.String[])
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener, String[] properties) {
-		
-		PropertyListener propertylistener = new PropertyListener(listener, properties);
-		
-		if (!fPropertyListeners.contains(propertylistener))
-		{
-			fPropertyListeners.put(listener, propertylistener);
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		if (fPropertyListeners.containsKey(listener))
-		{
-			fPropertyListeners.remove(listener);
-		}
-	}
-	
-	/**
-	 * Fire property change events
-	 * @param propertyId
-	 */
-	public void firePropertyChanged(final PropertyChangeEvent evt)
-	{
-		// do not fire property changed event if the synchronization
-		// service is disabled
-		if (fEnableState == DISABLED)
-			return;
-		
-		// 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().syncExec(new Runnable()
-		{
-			public void run()
-			{
-				if (fSynchronizeInfo == null)
-					return;
-				
-				IMemoryRendering rendering = (IMemoryRendering)evt.getSource();
-				String propertyId = evt.getProperty();
-				
-				SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(rendering.getMemoryBlock());
-				if (info != null)
-				{
-					Object value = info.getProperty(propertyId);
-					if (value != null)
-					{				
-						Enumeration enumeration = fPropertyListeners.elements();
-						
-						while(enumeration.hasMoreElements())
-						{
-							PropertyListener listener = (PropertyListener)enumeration.nextElement();
-							
-							IPropertyChangeListener origListener = listener.getListener();
-							
-							// if it's a valid property - valid means that it's listed in the property filters
-							if (listener.isValidProperty(propertyId)){
-								PropertyChangeNotifier notifier = new PropertyChangeNotifier(origListener, evt);
-								SafeRunner.run(notifier);	
-							}
-						}
-					}
-				}
-			}
-		});
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#getProperty(org.eclipse.debug.core.model.IMemoryBlock, java.lang.String)
-	 */
-	public Object getProperty(IMemoryBlock block, String property) {
-		
-		// When the synchronization service is disabled
-		// return null for all queries to properties
-		// This is to ensure that renderings are not synchronized
-		// to new synchronization properties when the sync service is
-		// disabled.
-		if (!isEnabled())
-			return null;
-		
-		SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(block);
-		
-		if (info != null)
-			return info.getProperty(property);
-		
-		return null;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event == null || !(event.getSource() instanceof IMemoryRendering))
-		{
-			return;
-		}
-		
-		// Do not handle any property changed event as the
-		// sync service is being enabled.
-		// Otheriwse, current sync info provider may overwrite
-		// sync info unexpectedly.  We want to sync with the rendering
-		// that is last changed.
-		if (fEnableState == ENABLING)
-			return;
-		
-		IMemoryRendering rendering = ((IMemoryRendering)event.getSource());
-		IMemoryBlock memoryBlock = rendering.getMemoryBlock();
-		String propertyId = event.getProperty();
-		Object value = event.getNewValue();
-		
-		if (DEBUG_SYNC_SERVICE)
-		{
-			System.out.println("SYNC SERVICE RECEIVED CHANGED EVENT:"); //$NON-NLS-1$
-			System.out.println("Source:  " + rendering); //$NON-NLS-1$
-			System.out.println("Property:  " + propertyId); //$NON-NLS-1$
-			System.out.println("Value:  " + value); //$NON-NLS-1$
-			
-			if (value instanceof BigInteger)
-			{
-				System.out.println("Value in hex:  " + ((BigInteger)value).toString(16)); //$NON-NLS-1$
-			}
-		}
-		
-		if (memoryBlock == null)
-			return;
-		
-		if (propertyId == null)
-			return;
-		
-		// 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);
-			fLastChangedRendering = rendering;
-			firePropertyChanged(event);
-			return;
-		}
-		else if (!oldValue.equals(value))
-		{
-			// if the value has changed
-			// set the property and fire a change event
-			info.setProperty(propertyId, value);
-			fLastChangedRendering = rendering;
-			firePropertyChanged(event);
-		}
-	}
-	
-	public void setEnabled(boolean enabled)
-	{
-		if (enabled && fEnableState == ENABLED)
-			return;
-		
-		if (!enabled && fEnableState == DISABLED)
-			return;
-		
-		try
-		{
-			if (enabled)
-			{	
-				fEnableState = ENABLING;
-				// get sync info from the sync service provider	
-				if (fLastChangedRendering != null)
-				{
-					IMemoryBlock memBlock = fLastChangedRendering.getMemoryBlock();
-					SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(memBlock);
-					String[] ids = info.getPropertyIds();
-					
-					// stop handling property changed event while the
-					// synchronization service is being enabled
-					// this is to get around problem when the last changed
-					// rendering is not currently the sync info provider
-					
-					for (int i=0; i<ids.length; i++)
-					{
-						PropertyChangeEvent evt = new PropertyChangeEvent(fLastChangedRendering, ids[i], null, info.getProperty(ids[i]));
-						firePropertyChanged(evt);
-					}
-				}
-			}
-		}
-		finally
-		{
-			if (enabled)
-				fEnableState = ENABLED;
-			else
-				fEnableState = DISABLED;
-		}
-	}
-	
-	public boolean isEnabled()
-	{
-		return fEnableState == ENABLED;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#setSynchronizationProvider(org.eclipse.debug.ui.memory.IMemoryRendering)
-	 */
-	public void setSynchronizationProvider(IMemoryRendering rendering) {
-		
-		if (DEBUG_SYNC_SERVICE)
-			System.out.println("SYNCHRONIZATION PROVIDER: " + rendering); //$NON-NLS-1$
-		
-		if (fSyncServiceProvider != null)
-			fSyncServiceProvider.removePropertyChangeListener(this);
-		
-		if (rendering != null)
-			rendering.addPropertyChangeListener(this);
-		
-		fSyncServiceProvider = rendering;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#getSynchronizationProvider()
-	 */
-	public IMemoryRendering getSynchronizationProvider() {
-		return fSyncServiceProvider;
-	}
-}
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 fc4a00d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.memory.renderings.ErrorRendering;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Represents a tab in the Memory View.  This is where memory renderings
- * are hosted in the Memory View.
- * @since 3.1
- */
-public class MemoryViewTab implements IMemoryViewTab, IPropertyChangeListener, Listener {
-
-	private IMemoryRendering fRendering;
-	private TabItem fTabItem;
-	private DisposeListener fDisposeListener;
-	private boolean fEnabled;
-	private boolean fIsDisposed = false;
-	private Control fControl;
-	private RenderingViewPane fContainer;
-	
-	
-	public MemoryViewTab(TabItem tabItem, IMemoryRendering rendering, RenderingViewPane container)
-	{
-		fTabItem = tabItem;
-		fRendering = rendering;
-		fContainer = container;
-		
-		// set the rendering as the synchronization provider
-		// as the new rendering should be in focus and have control 
-		// after it's created
-		
-		if (container.getMemoryRenderingSite().getSynchronizationService() != null)
-			container.getMemoryRenderingSite().getSynchronizationService().setSynchronizationProvider(rendering);
-		Control control = createViewTab();
-		
-		control.addListener(SWT.Activate, this);
-		control.addListener(SWT.Deactivate, this);
-		
-		fTabItem.setControl(control);
-		fTabItem.setData(this);
-		fTabItem.setText(getLabel());
-		fTabItem.setImage(getImage());
-		
-		fTabItem.addDisposeListener(fDisposeListener = new DisposeListener() {
-
-			public void widgetDisposed(DisposeEvent e) {
-				fTabItem.removeDisposeListener(fDisposeListener);
-				dispose();
-			}});
-	}
-	
-	private Control createViewTab()
-	{   
-		ISafeRunnable safeRunnable = new ISafeRunnable() {
-
-			public void handleException(Throwable exception) {
-				// create an error rendering to fill the view tab
-				ErrorRendering rendering = new ErrorRendering(fRendering.getRenderingId(), exception);
-				rendering.init(fContainer, fRendering.getMemoryBlock());
-
-				// dispose the rendering
-				fRendering.dispose();
-				
-				fRendering = rendering;
-				fControl = rendering.createControl(fTabItem.getParent());
-			}
-
-			public void run() throws Exception {
-				fControl = fRendering.createControl(fTabItem.getParent());
-				fRendering.addPropertyChangeListener(getInstance());
-			}};
-			
-		SafeRunner.run(safeRunnable);
-		return fControl;
-	}
-	
-	private String getLabel()
-	{
-		return fRendering.getLabel();
-	}
-	
-	private Image getImage()
-	{
-		return fRendering.getImage();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#dispose()
-	 */
-	public void dispose() {
-		
-		if (fIsDisposed)
-			return;
-		
-		fIsDisposed = true;
-		
-		fRendering.removePropertyChangeListener(this);
-		
-		if (!fControl.isDisposed())
-		{
-			fControl.removeListener(SWT.Activate, this);
-			fControl.removeListener(SWT.Deactivate, this);
-		}
-		
-		// always deactivate rendering before disposing it.
-		fRendering.deactivated();
-		
-		fRendering.dispose();
-	}
-	
-	public boolean isDisposed()
-	{
-		return fIsDisposed;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return fEnabled;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		fEnabled = enabled;
-		
-		if (fEnabled)
-			fRendering.becomesVisible();
-		else
-			fRendering.becomesHidden();
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#setTabLabel(java.lang.String)
-	 */
-	public void setTabLabel(String label) {
-		fTabItem.setText(label);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#getTabLabel()
-	 */
-	public String getTabLabel() {
-		return fTabItem.getText();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#getRendering()
-	 */
-	public IMemoryRendering getRendering() {
-		return fRendering;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(final PropertyChangeEvent event) {
-		
-		// make sure this runs on the UI thread, otherwise, it
-		// will get to a swt exception
-		Display display = DebugUIPlugin.getDefault().getWorkbench().getDisplay();
-		
-		display.asyncExec(new Runnable() {
-			public void run() {
-				
-				if (isDisposed())
-					return;
-					
-				if (event.getSource() == fRendering)
-				{
-					if (event.getProperty().equals(IBasicPropertyConstants.P_TEXT))
-					{
-						Object value = event.getNewValue();
-						if (value != null && value instanceof String)
-						{
-							String label = (String)value;
-							setTabLabel(label);
-						}
-						else
-						{
-							setTabLabel(fRendering.getLabel());
-						}
-					}
-					
-					if (event.getProperty().equals(IBasicPropertyConstants.P_IMAGE))
-					{
-						Object value = event.getNewValue();
-						if (value != null && value instanceof Image)
-						{
-							Image image = (Image)value;
-							fTabItem.setImage(image);
-						}
-						else
-						{
-							fTabItem.setImage(fRendering.getImage());
-						}
-					}
-				}
-			}});
-	}
-	
-	private MemoryViewTab getInstance()
-	{
-		return this;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(Event event) {
-		if (event.type == SWT.Activate)
-		{
-			fRendering.activated();
-			fContainer.setRenderingSelection(fRendering);
-		}
-		if (event.type == SWT.Deactivate)
-		{
-			fRendering.deactivated();
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java
deleted file mode 100644
index 6001b2e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.ui.viewers.AbstractUpdatePolicy;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.viewers.TreeUpdatePolicy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Customized tree viewer for the Memory View
- * This Tree Viewer has a specialized update policy for the memory view.
- * When the model fires a ADDED delta, the update policy handles the event as follows:
- * If the ADDED delta is accompanied by SELECT, and the added element is an memory blok, then
- * the udpate policy asks the Memory View if the it is currently pinned to a memory block.  If the view
- * is currently pinned, then the SELECT delta is ignored.
- * 
- * If the ADDED delta and SELECT delta are recieved in separate nodes, then the delta will be handled as-is and would
- * not take the pinning state of the memory view into account. 
- *
- */
-public class MemoryViewTreeViewer extends AsynchronousTreeViewer {
-	
-	private class MemoryViewTreeUpdatePolicy extends TreeUpdatePolicy
-	{
-		protected void updateNodes(IModelDelta[] nodes) {                          
-	        AsynchronousTreeViewer viewer = (AsynchronousTreeViewer) getViewer();
-	        if (viewer == null) {
-	            return;
-	        }
-
-	        for (int i = 0; i < nodes.length; i++) {
-	            IModelDelta node = nodes[i];
-	            int flags = node.getFlags();
-	            
-	            if ((flags & IModelDelta.ADDED) != 0)
-	           {
-	               if (node.getElement() instanceof IMemoryBlock)
-	               {
-		        	   if ((flags & IModelDelta.SELECT) != 0)
-		        	   {
-		        		   IPresentationContext context = getViewer().getPresentationContext();
-		        		   if (context.getPart() instanceof MemoryView)
-		        		   {
-		        			   MemoryView view = (MemoryView)context.getPart();
-		        			   if (view.isPinMBDisplay())
-		        			   {
-		        				   // turn off select if the view is currently pinned
-		        				   flags |= IModelDelta.SELECT;
-		        				   flags ^= IModelDelta.SELECT;
-		        			   }
-		        		   }
-		        	   }
-		        	   
-		        	   // override and select the first memory block
-		     		   if (isFirstMemoryBlock())
-		    		   {
-		    			   flags |= IModelDelta.SELECT;
-		    		   }
-	               }
-	           }
-
-	            if ((flags & IModelDelta.ADDED) != 0) {
-	                handleAdd(viewer, node);
-	            }
-	            if ((flags & IModelDelta.REMOVED) != 0) {
-	                handleRemove(viewer, node);
-	            }
-	            if ((flags & IModelDelta.CONTENT) != 0) {
-	                handleContent(viewer, node);
-	            }
-	            if ((flags & IModelDelta.EXPAND) != 0) {
-	                handleExpand(viewer, node);
-	            }
-	            if ((flags & IModelDelta.SELECT) != 0) {
-	                handleSelect(viewer, node);
-	            }
-	            if ((flags & IModelDelta.STATE) != 0) {
-	                handleState(viewer, node);
-	            }
-	            if ((flags & IModelDelta.INSERTED) != 0) {
-	            }
-	            if ((flags & IModelDelta.REPLACED) != 0) {
-	            }
-
-	            updateNodes(node.getNodes());
-	        }
-		}
-	}
-
-	public MemoryViewTreeViewer(Composite parent) {
-		super(parent);
-	}
-
-	public AbstractUpdatePolicy createUpdatePolicy() {
-		return new MemoryViewTreeUpdatePolicy();
-	}
-	
-	private boolean isFirstMemoryBlock()
-	{
-		if (getInput() instanceof IMemoryBlockRetrieval)
-		{
-			IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks((IMemoryBlockRetrieval)getInput());
-			if (memoryBlocks.length == 1)
-				return true;
-		}
-		return false;
-	}
-
-}
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 14149b4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IMemoryBlockManager;
-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.SWT;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * Util class for Memory View
- * 
- * @since 3.0
- */
-public class MemoryViewUtil {
-	
-	public static final int[] ignoreKeyEvents =
-	{
-		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
-	};	
-	
-	public static ArrayList MEMORY_BLOCKS_HISTORY = new ArrayList();
-	
-	/**
-	 * @param selection
-	 * @return true if the given selection is valid for creating a memory block
-	 */
-	static public boolean isValidSelection(ISelection selection) {
-	
-		if (!(selection instanceof IStructuredSelection))
-			return false;
-	
-		//only single selection is allowed for this action
-		if (selection.isEmpty() || ((IStructuredSelection)selection).size() > 1)
-		{
-			return false;
-		}
-	
-		Object elem = ((IStructuredSelection)selection).getFirstElement();
-	
-		return isValidContext(elem);
-	}
-
-
-	/**
-	 * @param elem
-	 * @return
-	 */
-	public static boolean isValidContext(Object elem) {
-		// 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;
-		}
-		
-		if (debugTarget == null)
-			return false;
-		
-		// not valid if the debug target is already terminated
-		if (debugTarget.isTerminated() || debugTarget.isDisconnected())
-			return false;
-		
-		if (memRetrieval.supportsStorageRetrieval()) {
-			return true;
-		}
-		
-		return false;
-	}	
-
-	
-	/**
-	 * Helper function to open an error dialog.
-	 * @param title
-	 * @param message
-	 * @param e
-	 */
-	static public void openError (final String title, final String message, final Exception e)
-	{
-		UIJob uiJob = new UIJob("open error"){ //$NON-NLS-1$
-
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-//				 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$
-				return Status.OK_STATUS;
-			}};
-		uiJob.setSystem(true);
-		uiJob.schedule();
-	}
-	
-	static IMemoryBlockManager getMemoryBlockManager()
-	{
-		return DebugPlugin.getDefault().getMemoryBlockManager();
-	}
-	
-	static public boolean isLinuxGTK()
-	{	
-		String ws = Platform.getWS();
-		return ws.equals(Platform.WS_GTK);
-	}
-	
-	/**
-	 * Checks to see if the event is valid for activating
-	 * cell editing in a view tab
-	 * @param event
-	 * @return true if the edit event is valid  for activating the cell editor
-	 */
-	public static boolean isValidEditEvent(int event) {
-		for (int i = 0; i < MemoryViewUtil.ignoreKeyEvents.length; i++) {
-			if (event == MemoryViewUtil.ignoreKeyEvents[i])
-				return false;
-		}
-		return true;
-	}
-	
-	public static BigInteger alignToBoundary(BigInteger integer, int numberOfUnitsPerLine)
-	{
-		BigInteger[] result = integer.divideAndRemainder(BigInteger.valueOf(numberOfUnitsPerLine));
-		integer = integer.subtract(result[1]);
-		return integer;
-	}
-	
-	public static void addHistory(String expression)
-	{		
-		if (!MEMORY_BLOCKS_HISTORY.contains(expression))
-			MEMORY_BLOCKS_HISTORY.add(0, expression);
-		
-		if (MEMORY_BLOCKS_HISTORY.size() > 5)
-			MEMORY_BLOCKS_HISTORY.remove(MEMORY_BLOCKS_HISTORY.size()-1);
-	}
-	
-	public static String[] getHistory() 
-	{
-		return (String[])MEMORY_BLOCKS_HISTORY.toArray(new String[MEMORY_BLOCKS_HISTORY.size()]);
-	}
-	
-	public static IMemoryBlockRetrieval getMemoryBlockRetrieval(Object object)
-	{
-		IMemoryBlockRetrieval retrieval = null;
-
-		if (object instanceof IAdaptable)
-		{
-			IAdaptable adaptable = (IAdaptable)object;
-			retrieval = (IMemoryBlockRetrieval)adaptable.getAdapter(IMemoryBlockRetrieval.class);
-		}
-		
-		if (retrieval == null && object instanceof IDebugElement)
-		{
-			IDebugElement de = (IDebugElement)object;
-			retrieval = de.getDebugTarget();
-		}
-		
-		return retrieval;
-	}
-}
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 c1e2816..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.core.model.IMemoryBlockRetrievalExtension;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TrayDialog;
-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.PlatformUI;
-
-/**
- * @since 3.0
- */
-public class MonitorMemoryBlockDialog extends TrayDialog implements ModifyListener{
-
-	private Combo expressionInput;
-	private Text lengthInput;
-	private String expression;
-	private String length;
-	private boolean needLength = true;
-	private String fPrefillExp = null;
-	private String fPrefillLength = null;
-	
-	/**
-	 * @param parentShell
-	 */
-	public MonitorMemoryBlockDialog(Shell parentShell, IMemoryBlockRetrieval memRetrieval, String prefillExp, String prefillLength) {
-		super(parentShell);
-		
-		if (memRetrieval instanceof IMemoryBlockRetrievalExtension)
-			needLength = false;
-		
-		fPrefillExp = prefillExp;
-		fPrefillLength = prefillLength;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".MonitorMemoryBlockDialog_context"); //$NON-NLS-1$
-		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.MonitorMemoryBlockDialog_EnterExpressionToMonitor);
-		GridData textLayout = new GridData();
-		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;
-		expressionInput.setLayoutData(spec);
-		
-		// add HISTORY
-		String[] historyExpression = MemoryViewUtil.getHistory();
-		for (int i=0; i<historyExpression.length; i++)
-		{
-			expressionInput.add(historyExpression[i]);
-		}
-		
-		// must be done before the listener is added
-		// otherwise, will get into exception when trying to validate
-		// input
-		// This will be validated when the OK & Cancel button is added.
-		if (fPrefillExp != null)
-			expressionInput.setText(fPrefillExp);
-		
-		expressionInput.addModifyListener(this);
-		
-		if (needLength)
-		{
-			Label lengthLabel = new Label(parent, SWT.NONE);
-			lengthLabel.setText(DebugUIMessages.MonitorMemoryBlockDialog_NumberOfBytes);
-			GridData lengthLayout = new GridData();
-			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);
-			
-			if (fPrefillLength != null)
-				lengthInput.setText(fPrefillLength);
-			
-			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.MonitorMemoryBlockDialog_MonitorMemory);
-	}
-	
-	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
-		MemoryViewUtil.addHistory(expression);
-
-		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) {
-		updateOKButtonState();
-	}
-
-	private void updateOKButtonState() {
-		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);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		
-		Control ret =  super.createButtonBar(parent);
-		
-		if (needLength)
-			updateOKButtonState();
-		else
-			// always enable the OK button if we only need the expression
-			getButton(IDialogConstants.OK_ID).setEnabled(true);
-		
-		return ret;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/NewMemoryViewAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/NewMemoryViewAction.java
deleted file mode 100644
index 2e62da3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/NewMemoryViewAction.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-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.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Action for opening a new memory view.
- */
-public class NewMemoryViewAction implements IViewActionDelegate {
-
-	private MemoryView fView;
-	public void init(IViewPart view) {
-		if (view instanceof MemoryView)
-			fView = (MemoryView)view;                                                                                                                                                                                                                                                                                                                                               
-	}
-
-	public void run(IAction action) {
-		
-		String secondaryId = MemoryViewIdRegistry.getUniqueSecondaryId(IDebugUIConstants.ID_MEMORY_VIEW);
-		try {
-			IWorkbenchPage page = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-			IViewPart newView = page.showView(IDebugUIConstants.ID_MEMORY_VIEW, secondaryId, IWorkbenchPage.VIEW_ACTIVATE);
-			
-			// set initial selection for new view
-			setInitialSelection(newView);
-			setInitialViewSettings(newView);
-			
-		} catch (PartInitException e) {
-			// if view cannot be opened, open error
-			DebugUIPlugin.log(e);
-		}
-	}
-
-	private void setInitialSelection(IViewPart newView) {
-		ISelection selection = fView.getSite().getSelectionProvider().getSelection();
-		if (selection instanceof IStructuredSelection)
-		{
-			IStructuredSelection strucSel = (IStructuredSelection)selection;
-			
-			// return if current selection is empty
-			if (strucSel.isEmpty())
-				return;
-			
-			Object obj = strucSel.getFirstElement();
-			
-			if (obj == null)
-				return;
-			
-			if (obj instanceof IMemoryRendering)
-			{
-				IMemoryBlock memBlock = ((IMemoryRendering)obj).getMemoryBlock();
-				strucSel = new StructuredSelection(memBlock);
-				newView.getSite().getSelectionProvider().setSelection(strucSel);
-			}
-			else if (obj instanceof IMemoryBlock)
-			{
-				newView.getSite().getSelectionProvider().setSelection(strucSel);
-			}
-		}
-	}
-
-	private void setInitialViewSettings(IViewPart newView) {
-		if (fView != null && newView instanceof MemoryView)
-		{
-			MemoryView newMView = (MemoryView)newView;
-			IMemoryViewPane[] viewPanes = fView.getViewPanes();
-			int orientation = fView.getViewPanesOrientation();
-			for (int i=0; i<viewPanes.length; i++)
-			{
-				// copy view pane visibility
-				newMView.showViewPane(fView.isViewPaneVisible(viewPanes[i].getId()), viewPanes[i].getId());
-			}
-			
-			// do not want to copy renderings as it could be very expensive
-			// create a blank view and let user creates renderings as needed
-			
-			// set orientation of new view
-			newMView.setViewPanesOrientation(orientation);
-		}
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java
deleted file mode 100644
index 93f5fa3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * Action for pinning the display of the memory view to
- * the current memory block.  The view would not change
- * selection when a new memory block is added if the diplay is pinned.
- *
- */
-public class PinMemoryBlockAction implements IViewActionDelegate {
-
-	private MemoryView fView;
-	public void init(IViewPart view) {
-		if (view instanceof MemoryView)
-			fView = (MemoryView)view;
-
-	}
-
-	public void run(IAction action) {
-		if (fView == null)
-			return;
-		
-		boolean pin = !fView.isPinMBDisplay();
-		fView.setPinMBDisplay(pin);
-		
-		action.setChecked(pin);
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java
deleted file mode 100644
index 4b50660..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * Fire properties changes events in ISafeRunnable to ensure that
- * exceptions are caught and handled.
- * @since 3.1
- */
-public class PropertyChangeNotifier implements ISafeRunnable
-{
-	
-	IPropertyChangeListener fListener;
-	PropertyChangeEvent fEvt;
-	
-	public PropertyChangeNotifier(IPropertyChangeListener listener, PropertyChangeEvent evt)
-	{
-		fListener = listener;
-		fEvt = evt;
-	}
-	
-	/* (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 {
-		fListener.propertyChange(fEvt);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java
deleted file mode 100644
index 0b5618c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-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.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.jface.action.Action;
-
-
-/**
- * Remove Memory Rendering action
- * This action serves two purposes:
- *   - remove memory rendering from Memory Rendering Pane
- *   - quck way to remove a memory block from Memory Rendering Pane
- * 
- * When user clicks on the this tool bar action, it simply removes
- * the top view tab from Memory Rendering Pane.
- * @since 3.0
- */
-public class RemoveMemoryRenderingAction extends Action
-{
-	private IMemoryRenderingContainer fViewPane;
-	public RemoveMemoryRenderingAction(IMemoryRenderingContainer viewPane)
-	{
-		// create action as drop down
-		super(DebugUIMessages.RemoveMemoryRenderingAction_Remove_rendering, AS_PUSH_BUTTON); 
-		setText(DebugUIMessages.RemoveMemoryRenderingAction_Remove_rendering); 
-
-		setToolTipText(DebugUIMessages.RemoveMemoryRenderingAction_Remove_rendering); 
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_MEMORY));	
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_REMOVE_MEMORY));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE_MEMORY));
-		fViewPane = viewPane;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		
-		// user has click on the RemoveMemoryRendering button
-		IMemoryViewTab topTab = getViewTab();
-		
-		if (topTab != null)
-		{
-			IMemoryRendering rendering = topTab.getRendering();
-			
-			if (rendering != null)
-			{
-				fViewPane.removeMemoryRendering(rendering);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.debug.defaultrenderings.internal.actions.AbstractMemoryAction#getViewTab()
-	 */
-	IMemoryViewTab getViewTab() {
-		if (fViewPane instanceof IMemoryView)
-		{
-			return ((IMemoryView)fViewPane).getTopMemoryTab();
-		}
-		return null;
-	}		
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java
deleted file mode 100644
index a514ca3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * @since 3.0
- *
- */
-public class RemoveRenderingContextAction implements IViewActionDelegate {
-
-	private IMemoryRenderingSite fMemoryView;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		if (view instanceof IMemoryRenderingSite)
-		{
-			fMemoryView = (IMemoryRenderingSite)view;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (fMemoryView == null)
-			return;
-		
-		IMemoryRenderingContainer[] viewPanes = fMemoryView.getMemoryRenderingContainers();
-		String actionId = action.getId();
-		IMemoryRenderingContainer selectedPane = null;
-		
-		for (int i=0; i<viewPanes.length; i++)
-		{
-			if (actionId.indexOf(viewPanes[i].getId()) != -1)
-			{
-				selectedPane = viewPanes[i];
-				break;
-			}
-		}
-		
-		if (selectedPane == null)
-			return;
-		
-		RemoveMemoryRenderingAction removeAction = new RemoveMemoryRenderingAction(selectedPane);
-		removeAction.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) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java
deleted file mode 100644
index f4fd1d4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java
+++ /dev/null
@@ -1,1255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Set;
-
-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.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.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.memory.renderings.CreateRendering;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService;
-import org.eclipse.debug.ui.memory.IResettableMemoryRendering;
-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.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.events.SelectionEvent;
-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.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.UIJob;
-
-
-
-/**
- * Represents a rendering view pane in the Memory View.
- * This hosts the memory view tabs in the view.
- * @since 3.1
- *
- */
-public class RenderingViewPane extends AbstractMemoryViewPane implements IMemoryRenderingContainer{
-
-	public static final String RENDERING_VIEW_PANE_ID = DebugUIPlugin.getUniqueIdentifier() + ".MemoryView.RenderingViewPane"; //$NON-NLS-1$
-	
-	private Hashtable fTabFolderForMemoryBlock = new Hashtable();
-	private Hashtable fMemoryBlockFromTabFolder = new Hashtable();
-
-	private AddMemoryRenderingAction fAddMemoryRenderingAction;
-
-	private IAction fRemoveMemoryRenderingAction;
-	private ViewPaneRenderingMgr fRenderingMgr;
-	
-	private IMemoryRenderingSite fRenderingSite;
-	private Set fAddedRenderings = new HashSet();
-	private Set fAddedMemoryBlocks = new HashSet();
-
-	private boolean fIsDisposed = false;
-	
-	/**
-	 * @param parent is the view hosting this view pane
-	 * @param paneId is the identifier assigned by the Memory View
-	 * 
-	 * Pane id is assigned with the following format.  
-	 * Rendering view pane created has its id assigned to 
-	 * org.eclipse.debug.ui.MemoryView.RenderingViewPane.#.  
-	 * # is a number indicating the order of which the rendering view
-	 * pane is created.  First rendering view pane created will have its
-	 * id assigned to org.eclipse.debug.ui.MemoryView.RenderingViewPane.1.
-	 * Second rendering view pane created will have its id assigned to
-	 * org.eclipse.debug.ui.MemoryView.RenderingViewPane.2. and so on.
-	 * View pane are created from left to right by the Memory View.
-	 * 
-	 */
-	public RenderingViewPane(IViewPart parent) {
-		super(parent);
-		
-		if (parent instanceof IMemoryRenderingSite)
-			fRenderingSite = (IMemoryRenderingSite)parent;
-		else
-		{
-			DebugUIPlugin.logErrorMessage("Parent for the rendering view pane is invalid."); //$NON-NLS-1$
-		}	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void memoryBlocksAdded(final IMemoryBlock[] memoryBlocks) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				
-				if (isDisposed())
-					return;
-						
-				// check condition before doing anything
-				if (memoryBlocks == null || memoryBlocks.length <= 0)
-					return;
-				
-				for (int i=0; i<memoryBlocks.length; i++)
-				{
-					IMemoryBlock memory = memoryBlocks[i];
-				
-					if (!fTabFolderForMemoryBlock.containsKey(memory))
-					{
-						createFolderForMemoryBlock(memory);						
-					}	
-					fAddedMemoryBlocks.add(memory);
-					updateToolBarActionsEnablement();
-				}
-			}});
-	}
-	
-	private IMemoryBlockRetrieval getMemoryBlockRetrieval(IMemoryBlock memoryBlock)
-	{
-		IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval)memoryBlock.getAdapter(IMemoryBlockRetrieval.class);
-		
-		if (retrieval == null)
-		{
-			retrieval = memoryBlock.getDebugTarget();
-		}
-		
-		return retrieval;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void memoryBlocksRemoved(final IMemoryBlock[] memoryBlocks) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				for (int j=0; j<memoryBlocks.length; j++)
-				{
-					IMemoryBlock memory = memoryBlocks[j];
-					if (fTabFolderForMemoryBlock == null)
-					{
-						return;
-					}
-					
-					// get all renderings from this memroy block and remove them from the view
-					IMemoryRendering[] renderings = fRenderingMgr.getRenderingsFromMemoryBlock(memory);
-					
-					for (int k=0; k<renderings.length; k++)
-					{
-						removeMemoryRendering(renderings[k]);
-					}
-					
-					// remove a the tab folder if the memory block is removed
-					TabFolder tabFolder =
-						(TabFolder) fTabFolderForMemoryBlock.get(memory);
-					
-					if (tabFolder == null)
-						continue;
-					
-					fTabFolderForMemoryBlock.remove(memory);
-					fMemoryBlockFromTabFolder.remove(tabFolder);
-					fTabFolderForDebugView.remove(getMemoryBlockRetrieval(memory));
-					
-					if (!tabFolder.isDisposed()) {
-						
-						IMemoryBlockRetrieval retrieve = (IMemoryBlockRetrieval)memory.getAdapter(IMemoryBlockRetrieval.class);
-						if (retrieve == null)
-						{	
-							retrieve = memory.getDebugTarget();
-						}
-						
-						if (fTabFolderForDebugView.contains(tabFolder))
-						{					
-							fTabFolderForDebugView.remove(retrieve);
-						}
-						
-						// dispose all view tabs belonging to the tab folder
-						TabItem[] items = tabFolder.getItems();
-						
-						for (int i=0; i<items.length; i++)
-						{	
-							disposeTab(items[i]);
-						}
-						
-						// dispose the tab folder
-						tabFolder.dispose();						
-						
-						// if this is the top control
-						if (tabFolder == fStackLayout.topControl)
-						{	
-							
-							// if memory view is visible and have a selection
-							// follow memory view's selection
-							
-							ISelection selection = DebugUIPlugin.getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_MEMORY_VIEW);
-							IMemoryBlock blk = getMemoryBlock(selection);
-							
-							if (blk != null)
-							{	
-										
-								// memory view may not have got the event and is still displaying
-								// the deleted memory block
-								if (blk != memory)
-									handleMemoryBlockSelection(null, blk);
-								else if ((MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(memory.getDebugTarget()).length > 0))
-								{
-									blk = MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(memory.getDebugTarget())[0];
-									handleMemoryBlockSelection(null, blk);										
-								}
-								else
-								{
-									emptyFolder();
-								}
-							}
-							else if (MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(memory.getDebugTarget()).length > 0)
-							{	// get to the next folder
-								blk = MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(memory.getDebugTarget())[0];
-								handleMemoryBlockSelection(null, blk);
-							}
-							else
-							{
-								emptyFolder();
-			
-							}
-						}
-						
-						// if not the top control
-						// no need to do anything
-					}
-					
-					fAddedMemoryBlocks.remove(memory);
-					updateToolBarActionsEnablement();
-				}
-			}
-		});
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(final IWorkbenchPart part, final ISelection selection) {
-		if (fIsDisposed)
-			return;
-		
-		// do not schedule job if any of these conditions are true
-		if(part == RenderingViewPane.this)
-			return;
-		
-		if (!(selection instanceof IStructuredSelection))
-			return;
-		
-		if (selection == AbstractMemoryViewPane.EMPTY)
-			return;
-		
-		UIJob job = new UIJob("RenderingViewPane selectionChanged"){ //$NON-NLS-1$
-
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				try {
-
-					if (isDisposed())
-						return Status.OK_STATUS;
-					
-					if (selection.isEmpty())
-					{
-						// if the event comes from Memory View
-						// pick empty tab folder as the memory view is no longer displaying anything
-						if (part.getSite().getId().equals(IDebugUIConstants.ID_MEMORY_VIEW))
-						{
-							if (part == getMemoryRenderingSite().getSite().getPart())
-							{
-								IMemoryViewTab lastViewTab = getTopMemoryTab();
-								
-								if (lastViewTab != null)
-									lastViewTab.setEnabled(false);
-								
-								emptyFolder();
-							}
-						}
-						
-						// do not do anything if there is no 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 Status.OK_STATUS;
-					}
-					
-					// back up current view tab
-					IMemoryViewTab lastViewTab = getTopMemoryTab();
-					
-					if (!(selection instanceof IStructuredSelection))
-						return Status.OK_STATUS;
-
-					Object elem = ((IStructuredSelection)selection).getFirstElement();
-					
-					if (elem instanceof IMemoryBlock)
-					{	
-						// if the selection event comes from this view
-						if (part == getMemoryRenderingSite())
-						{
-							// find the folder associated with the given IMemoryBlockRetrieval
-							IMemoryBlock memBlock = (IMemoryBlock)elem;
-							
-							// should never get here... added code for safety
-							if (fTabFolderForMemoryBlock == null)
-							{
-								if (lastViewTab != null)
-									lastViewTab.setEnabled(false);
-								
-								emptyFolder();
-								return Status.OK_STATUS;		
-							}
-			
-							handleMemoryBlockSelection(lastViewTab, memBlock);
-						}
-					}
-				}
-				catch(SWTException se)
-				{
-					DebugUIPlugin.log(se);
-				}
-				return Status.OK_STATUS;
-			}};
-		job.setSystem(true);
-		job.schedule();
-	}
-	
-	public void handleMemoryBlockSelection(final IMemoryViewTab lastViewTab, final IMemoryBlock memBlock) {
-		// don't do anything if the debug target is already terminated
-		if (memBlock.getDebugTarget().isDisconnected()
-				|| memBlock.getDebugTarget().isTerminated()) {
-			emptyFolder();
-			return;
-		}
-
-		// check current memory block
-		TabFolder currentFolder = (TabFolder) fStackLayout.topControl;
-		if (currentFolder != null && !currentFolder.isDisposed()) {
-			IMemoryBlock currentBlk = (IMemoryBlock) fMemoryBlockFromTabFolder.get(currentFolder);
-			if (currentBlk != null) {
-				if (currentBlk == memBlock)
-					return;
-			}
-		}
-
-		if (getTopMemoryTab() != null) {
-			if (getTopMemoryTab().getRendering().getMemoryBlock() == memBlock) {
-				return;
-			}
-		}
-
-		// if we've got a tabfolder to go with the IMemoryBlock, display
-		// it
-		if (fTabFolderForMemoryBlock.containsKey(memBlock)) {
-			if (fStackLayout.topControl != (TabFolder) fTabFolderForMemoryBlock.get(memBlock)) {
-				setTabFolder((TabFolder) fTabFolderForMemoryBlock.get(memBlock));
-				fViewPaneCanvas.layout();
-			}
-		} else { // otherwise, add a new one
-			TabFolder folder = new TabFolder(fViewPaneCanvas, SWT.NULL);
-
-			fTabFolderForMemoryBlock.put(memBlock, folder);
-			fMemoryBlockFromTabFolder.put(folder, memBlock);
-			setTabFolder((TabFolder) fTabFolderForMemoryBlock.get(memBlock));
-			fViewPaneCanvas.layout();
-			fAddedMemoryBlocks.add(memBlock);
-		}
-
-		// restore view tabs
-		IMemoryRendering[] renderings = fRenderingMgr.getRenderingsFromMemoryBlock(memBlock);
-		TabFolder toDisplay = (TabFolder) fStackLayout.topControl;
-
-		if (toDisplay.getItemCount() == 0) {
-			restoreViewTabs(renderings);
-		}
-
-		// 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(fVisible);
-				}
-			}
-		}
-
-		IMemoryViewTab viewTab = getTopMemoryTab();
-		if (viewTab != null)
-			setRenderingSelection(viewTab.getRendering());
-
-		if (viewTab == null) {
-			// do not ever want to put it on the empty folder
-			if (toDisplay != fEmptyTabFolder) {
-				TabItem newItem = new TabItem(toDisplay, SWT.NULL);
-				CreateRendering rendering = new CreateRendering(getInstance());
-				rendering.init(getInstance(), memBlock);
-				MemoryViewTab createTab = new MemoryViewTab(newItem,rendering, getInstance());
-				setRenderingSelection(createTab.getRendering());
-			}
-		}
-
-		//set toolbar actions enabled/disabled
-		updateToolBarActionsEnablement();
-	}
-
-	public void memoryBlockRenderingAdded(final IMemoryRendering rendering) {
-
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				
-				if (isDisposed())
-					return;
-				
-				if (fAddedRenderings.contains(rendering))
-					return;
-
-				IMemoryBlock memoryblk = rendering.getMemoryBlock();
-
-				TabFolder tabFolder = (TabFolder) fTabFolderForMemoryBlock.get(memoryblk);
-				
-				if (tabFolder == null)
-				{
-					tabFolder = createFolderForMemoryBlock(memoryblk);
-				}
-
-				if (tabFolder.getItemCount() >= 1) {
-					// remove "Create rendering tab"
-					TabItem item = tabFolder.getItem(0);
-					if (item != null && item.getData() instanceof MemoryViewTab) {
-						MemoryViewTab viewTab = (MemoryViewTab) item.getData();
-						if (viewTab.getRendering() instanceof CreateRendering) {
-							disposeTab(item);
-						}
-					}
-				}
-				
-				if (tabFolder == fStackLayout.topControl)
-				{
-					// disable current view tab
-					if (getTopMemoryTab() != null) {
-						deactivateRendering(getTopMemoryTab());
-						getTopMemoryTab().setEnabled(false);
-					}						
-				}
-				fAddedRenderings.add(rendering);
-				TabItem tab = new TabItem(tabFolder, SWT.NULL);
-
-				MemoryViewTab viewTab = new MemoryViewTab(tab, rendering,getInstance());
-				tabFolder.setSelection(tabFolder.indexOf(tab));
-				
-				if (tabFolder == fStackLayout.topControl)
-				{
-					setRenderingSelection(viewTab.getRendering());
-
-					// disable top view tab if the view pane is not visible
-					IMemoryViewTab top = getTopMemoryTab();
-					if (top != null)
-						top.setEnabled(fVisible);
-				}
-				else
-				{
-					deactivateRendering(viewTab);
-					viewTab.setEnabled(false);
-				}
-
-				updateToolBarActionsEnablement();
-			}
-		});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.memory.IMemoryRenderingListener#MemoryBlockRenderingRemoved(org.eclipse.debug.internal.core.memory.IMemoryRendering)
-	 */
-	public void memoryBlockRenderingRemoved(final IMemoryRendering rendering) {
-		final IMemoryBlock memory = rendering.getMemoryBlock();
-		
-		// need to run the following code on the UI Thread to avoid invalid thread access exception
-		Display.getDefault().asyncExec(new Runnable()
-		{
-			public void run()
-			{
-				if (!fAddedRenderings.contains(rendering))
-					return;
-				
-				fAddedRenderings.remove(rendering);
-				
-				TabFolder tabFolder = (TabFolder) fStackLayout.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 (tabs[i].isDisposed())
-						continue;
-					
-
-					if (viewTab.getRendering().getMemoryBlock() == memory)
-					{
-						if (viewTab.getRendering() == rendering)
-						{
-							foundTab = true;
-							disposeTab(tabs[i]);
-							break;
-						}
-						
-					}
-				}
-
-				// 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 enumeration = fTabFolderForMemoryBlock.elements();
-					while (enumeration.hasMoreElements())
-					{
-						TabFolder otherTabFolder = (TabFolder) enumeration.nextElement();
-						tabs = otherTabFolder.getItems();
-						IMemoryViewTab viewTab = null;
-						for (int i = 0; i < tabs.length; i++)
-						{
-							viewTab = (IMemoryViewTab) tabs[i].getData();
-							if (viewTab.getRendering().getMemoryBlock() == memory)
-							{
-								if (viewTab.getRendering() == rendering)
-								{
-									foundTab = true;
-									disposeTab(tabs[i]);
-									break;
-								}
-							}
-						}
-					}
-				}
-				IMemoryViewTab top = getTopMemoryTab();
-				
-				// update selection
-				if (top != null)
-					setRenderingSelection(top.getRendering());
-				else
-				{
-					if (tabFolder != fEmptyTabFolder)
-					{
-						IDebugTarget target = memory.getDebugTarget();
-						
-						// do not create if the target is already terminated or if the memory block is removed
-						if (!target.isDisconnected() && !target.isTerminated() && !isMeomryBlockRemoved(memory))
-						{
-							TabItem newItem = new TabItem(tabFolder, SWT.NULL);
-							CreateRendering createRendering = new CreateRendering(getInstance());
-							createRendering.init(getInstance(), memory);
-							
-							MemoryViewTab viewTab = new MemoryViewTab(newItem, createRendering, getInstance());
-							tabFolder.setSelection(0);
-							setRenderingSelection(viewTab.getRendering());
-						}
-					}
-				}
-					
-				updateToolBarActionsEnablement();
-			}
-		});
-		
-	}
-	
-	/**
-	 * @param memoryBlock
-	 * @return if this memory block is removed
-	 */
-	private boolean isMeomryBlockRemoved(IMemoryBlock memoryBlock)
-	{
-		IMemoryBlockRetrieval retrieval = getMemoryBlockRetrieval(memoryBlock);
-		IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval);
-		boolean removed = true;
-		
-		for (int i=0; i<memoryBlocks.length; i++)
-		{
-			if (memoryBlocks[i] == memoryBlock)
-				removed = false;
-		}
-		
-		return removed;
-	}
-	
-	
-	/**
-	 * @param viewTab
-	 */
-	protected void setRenderingSelection(IMemoryRendering rendering) {
-
-	 	if (rendering != null)
-	 	{	
-	 		fSelectionProvider.setSelection(new StructuredSelection(rendering));
-	 	}
-	}
-	
-	private void restoreViewTabs(IMemoryRendering[] renderings)
-	{
-		for (int i=0; i<renderings.length; i++)
-		{
-			memoryBlockRenderingAdded(renderings[i]);
-		}
-	}
-	
-	private void handleDebugElementSelection(final IMemoryViewTab lastViewTab, final IDebugElement element)
-	{	
-		// get current memory block retrieval and debug target
-		IMemoryBlockRetrieval currentRetrieve = null;
-		
-		// get tab folder
-		TabFolder tabFolder = (TabFolder) fStackLayout.topControl;
-		
-		// get memory block
-		IMemoryBlock currentBlock = (IMemoryBlock)fMemoryBlockFromTabFolder.get(tabFolder);
-		
-		if (currentBlock != null)
-		{	
-			currentRetrieve = (IMemoryBlockRetrieval)currentBlock.getAdapter(IMemoryBlockRetrieval.class);
-			
-			if (currentRetrieve == null)
-			{
-				currentRetrieve = currentBlock.getDebugTarget();
-			}
-			
-			// backup current retrieve and tab folder
-			if (currentRetrieve != null && tabFolder != null)
-			{
-				fTabFolderForDebugView.put(currentRetrieve, tabFolder);
-			}
-		}
-		
-		// find the folder associated with the given IMemoryBlockRetrieval
-		IMemoryBlockRetrieval retrieve = (IMemoryBlockRetrieval)element.getAdapter(IMemoryBlockRetrieval.class);
-		IDebugTarget debugTarget = element.getDebugTarget();
-		
-		// if IMemoryBlockRetrieval is null, use debugtarget
-		if (retrieve == null)
-			retrieve = debugTarget;
-
-		// if debug target has changed
-		// switch to that tab folder
-		if (retrieve != currentRetrieve)
-		{	
-			TabFolder folder = (TabFolder)fTabFolderForDebugView.get(retrieve);
-			
-			if (folder != null)
-			{	
-				setTabFolder(folder);
-				fTabFolderForDebugView.put(retrieve, folder);
-				fViewPaneCanvas.layout();
-			}
-			else
-			{	
-				// find out if there is any memory block for this debug target
-				// and set up tab folder for the memory blocks
-				IMemoryBlock blocks[] = MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(retrieve);
-				
-				if (blocks.length > 0)
-				{	
-					handleMemoryBlockSelection(null, blocks[0]);
-				}
-				else
-				{	
-					emptyFolder();
-					fTabFolderForDebugView.put(retrieve, fEmptyTabFolder);
-					fViewPaneCanvas.layout();
-				}
-			}
-		}
-		
-		// 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(fVisible);
-				}					
-			}
-			
-			setRenderingSelection(newViewTab.getRendering());
-		}			
-		
-		//set toolbar actions enabled/disabled
-		updateToolBarActionsEnablement();
-	}
-	
-	protected void addListeners() {
-		super.addListeners();
-		
-		// must directly listen for selection events from parent's selection provider
-		// to ensure that we get the selection event from the tree viewer pane even
-		// if the view does not have focuse
-		fParent.getSite().getSelectionProvider().addSelectionChangedListener(this);
-	}
-	protected void removeListeners() {
-		super.removeListeners();
-		fParent.getSite().getSelectionProvider().removeSelectionChangedListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-	 */
-	public void widgetSelected(SelectionEvent e) {
-		
-		if (getTopMemoryTab() == null)
-			return;
-		
-		IMemoryRendering rendering = getTopMemoryTab().getRendering();
-		
-		if (rendering != null)
-		{
-			fSelectionProvider.setSelection(new StructuredSelection(rendering));
-		}
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-	 */
-	public void widgetDefaultSelected(SelectionEvent e) {
-	}
-	
-	public Object getCurrentSelection() {
-		if (getTopMemoryTab() != null)
-			if (getTopMemoryTab().getRendering() != null)
-				return getTopMemoryTab().getRendering();
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.debug.extended.ui.IMemoryView#getAllViewTabs()
-	 */
-	public IMemoryViewTab[] getAllViewTabs() {
-		
-		// otherwise, find the view tab to display
-		TabFolder folder = (TabFolder) fStackLayout.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 com.ibm.debug.extended.ui.IMemoryView#moveToTop(com.ibm.debug.extended.ui.IMemoryViewTab)
-	 */
-	public void moveToTop(IMemoryViewTab viewTab) {
-		
-		IMemoryViewTab lastViewTab = getTopMemoryTab();
-		
-		if (viewTab == lastViewTab)
-			return;
-		
-		// otherwise, find the view tab to display
-		TabFolder folder = (TabFolder) fStackLayout.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);
-				
-				setRenderingSelection(tab.getRendering());
-				
-				getTopMemoryTab().setEnabled(isEnabled && fVisible);
-				break;
-			}
-		}
-	}
-
-	public void restoreViewPane() {
-		
-		// get current selection from memory view
-		
-		ISelection selection = null;
-		if (fParent.getSite().getSelectionProvider() != null)
-			selection = fParent.getSite().getSelectionProvider().getSelection();
-		
-		IMemoryBlock memoryBlock = null;
-		if (selection != null)
-		{
-			memoryBlock = getMemoryBlock(selection);
-		}
-		
-		if (memoryBlock == null)
-		{	
-			// get selection from this view
-			selection = fSelectionProvider.getSelection();
-			
-			if (MemoryViewUtil.isValidSelection(selection))
-			{	
-				Object elem = ((IStructuredSelection)selection).getFirstElement();
-
-				if (!(elem instanceof IMemoryBlock))
-					return;
-				
-				memoryBlock = (IMemoryBlock)elem;								
-			}
-		}
-		
-		if (memoryBlock == null)
-		{
-			// get a memory block from current debug context
-			IAdaptable context = DebugUITools.getDebugContext();
-			if (context != null)
-			{
-				IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval)context.getAdapter(IMemoryBlockRetrieval.class);
-				if (retrieval == null && context instanceof IDebugElement)
-				{
-					retrieval = ((IDebugElement)context).getDebugTarget();
-				}
-				if (retrieval != null)
-				{
-					IMemoryBlock[] blocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval);
-					if (blocks.length > 0)
-						memoryBlock = blocks[0];
-				}
-			}
-		}
-		
-		if (memoryBlock != null)
-		{	
-			if (!fTabFolderForMemoryBlock.containsKey(memoryBlock))
-			{
-				// create tab folder if a tab folder does not already exist
-				// for the memory block
-				TabFolder folder = new TabFolder(fViewPaneCanvas, SWT.NULL);
-				
-				fTabFolderForMemoryBlock.put(memoryBlock, folder);
-				fMemoryBlockFromTabFolder.put(folder, memoryBlock);
-				setTabFolder((TabFolder)fTabFolderForMemoryBlock.get(memoryBlock));
-				fTabFolderForDebugView.put(getMemoryBlockRetrieval(memoryBlock), fTabFolderForMemoryBlock.get(memoryBlock));
-				fViewPaneCanvas.layout();
-				fAddedMemoryBlocks.add(memoryBlock);
-			}
-			
-			if (fTabFolderForMemoryBlock.containsKey(memoryBlock))
-			{
-				TabFolder toDisplay = (TabFolder)fTabFolderForMemoryBlock.get(memoryBlock);
-				
-				if (toDisplay != null)
-				{
-					setTabFolder(toDisplay);
-					fTabFolderForDebugView.put(getMemoryBlockRetrieval(memoryBlock), toDisplay);
-					fViewPaneCanvas.layout();
-					
-					// restore view tabs
-					IMemoryRendering[] renderings = fRenderingMgr.getRenderingsFromMemoryBlock(memoryBlock);
-					
-					if (toDisplay.getItemCount() == 0 || (getTopMemoryTab().getRendering() instanceof CreateRendering))
-					{
-						restoreViewTabs(renderings);
-					}
-				}
-			}
-			
-			// disable current storag block
-		
-			IMemoryViewTab top = getTopMemoryTab();
-		
-			if (top != null)
-			{
-				top.setEnabled(fVisible);
-			}
-			else
-			{
-				TabFolder folder = (TabFolder)fStackLayout.topControl;
-				if (folder != fEmptyTabFolder)
-				{
-					TabItem newItem = new TabItem(folder, SWT.NULL);
-					CreateRendering rendering = new CreateRendering(this);
-					rendering.init(getInstance(), memoryBlock);
-					new MemoryViewTab(newItem, rendering, this);
-					folder.setSelection(0);
-					setRenderingSelection(rendering);
-				}
-			}
-		}
-	}
-	
-	public void dispose() {
-		fIsDisposed = true;
-		super.dispose();
-		fAddMemoryRenderingAction.dispose();
-		
-		fTabFolderForMemoryBlock.clear();
-		fTabFolderForMemoryBlock = null;
-		
-		fMemoryBlockFromTabFolder.clear();
-		fMemoryBlockFromTabFolder = null;
-		
-		fRenderingMgr.dispose();
-		fRenderingMgr = null;
-		
-		fAddedMemoryBlocks.clear();
-		fAddedRenderings.clear();
-	}	
-	
-	public Control createViewPane(Composite parent, String paneId, String label) {
-		Control control =  super.createViewPane(parent, paneId, label);
-		fRenderingMgr = new ViewPaneRenderingMgr(this);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".MemoryRenderingView_context"); //$NON-NLS-1$
-		return control;
-	}
-	
-	public IAction[] getActions() {
-		ArrayList actions = new ArrayList();
-		
-		if (fAddMemoryRenderingAction == null)
-			fAddMemoryRenderingAction = new AddMemoryRenderingAction(this);
-		actions.add(fAddMemoryRenderingAction);
-		
-		if (fRemoveMemoryRenderingAction == null)
-			fRemoveMemoryRenderingAction = new RemoveMemoryRenderingAction(this);
-		
-		fRemoveMemoryRenderingAction.setEnabled(false);
-		actions.add(fRemoveMemoryRenderingAction);
-		
-		return (IAction[])actions.toArray(new IAction[actions.size()]);
-	}
-	
-	// enable/disable toolbar action 
-	protected void updateToolBarActionsEnablement()
-	{
-		IDebugTarget target = getSelectedDebugTarget();
-		if (target != null)
-		{	
-			IMemoryBlock[] blocks = MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(target);
-			
-			if (blocks.length > 0)
-				fRemoveMemoryRenderingAction.setEnabled(true);
-			else
-				fRemoveMemoryRenderingAction.setEnabled(false);
-
-		}
-		else
-		{	
-			fRemoveMemoryRenderingAction.setEnabled(false);
-		}
-	}
-	
-	private IDebugTarget getSelectedDebugTarget()
-	{
-		Object context = DebugUITools.getDebugContext();
-		if (context != null && context instanceof IDebugElement)
-		{
-			return ((IDebugElement)context).getDebugTarget();
-		}
-        return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.AbstractMemoryViewPane#emptyFolder()
-	 */
-	protected void emptyFolder() {
-		super.emptyFolder();
-		updateToolBarActionsEnablement();
-		fSelectionProvider.setSelection(AbstractMemoryViewPane.EMPTY);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IRenderingViewPane#addMemoryRendering(org.eclipse.debug.internal.ui.views.memory.IMemoryRendering)
-	 */
-	public void addMemoryRendering(IMemoryRendering rendering) {
-		
-		if (rendering == null)
-			return;
-
-		memoryBlockRenderingAdded(rendering);
-		fRenderingMgr.addMemoryBlockRendering(rendering);
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IRenderingViewPane#removeMemoryRendering(org.eclipse.debug.internal.ui.views.memory.IMemoryRendering)
-	 */
-	public void removeMemoryRendering(IMemoryRendering rendering) {
-		
-		if (rendering == null)
-			return;
-		
-		memoryBlockRenderingRemoved(rendering);
-		
-		if (fRenderingMgr != null)
-			fRenderingMgr.removeMemoryBlockRendering(rendering);
-		
-	}
-	
-	private RenderingViewPane getInstance()
-	{
-		return this;
-	}
-	
-	private IMemoryBlock getMemoryBlock(ISelection selection)
-	{
-		if (!(selection instanceof IStructuredSelection))
-			return null;
-
-		//only single selection of PICLDebugElements is allowed for this action
-		if (selection.isEmpty() || ((IStructuredSelection)selection).size() > 1)
-		{
-			return null;
-		}
-
-		Object elem = ((IStructuredSelection)selection).getFirstElement();
-		
-		if (elem instanceof IMemoryBlock)
-			return (IMemoryBlock)elem;
-		else if (elem instanceof IMemoryRendering)
-			return ((IMemoryRendering)elem).getMemoryBlock();
-		else
-			return null;
-	}
-	
-	private void deactivateRendering(IMemoryViewTab viewTab)
-	{
-		if (viewTab == null)
-			return;
-
-		if (!viewTab.isDisposed())
-		{		
-			viewTab.getRendering().deactivated();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IRenderingViewPane#getMemoryRenderingSite()
-	 */
-	public IMemoryRenderingSite getMemoryRenderingSite() {
-		return fRenderingSite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingContainer#getId()
-	 */
-	public String getId() {
-		return getPaneId();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingContainer#getRenderings()
-	 */
-	public IMemoryRendering[] getRenderings() {
-		return fRenderingMgr.getRenderings();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingContainer#getActiveRendering()
-	 */
-	public IMemoryRendering getActiveRendering() {
-		if (getTopMemoryTab() == null)
-			return null;
-		return getTopMemoryTab().getRendering();
-	}
-	
-	/**
-	 * Reset the memory renderings within this view pane.
-	 * @param memoryBlock - reset renderings associated with the given memory block
-	 * @param resetVisible - reset what's currently visible if the parameter is true.
-	 * Otherwise, the view pane will reset all renderings associated with the given 
-	 * memory block.
-	 */
-	public void resetRenderings(IMemoryBlock memoryBlock, boolean resetVisible)
-	{
-		// if we only reset what's visible and the view pane is not visible
-		// do nothing.
-		if (resetVisible && !isVisible())
-			return;
-		
-		if(resetVisible)
-		{
-			IMemoryRendering rendering = getActiveRendering();
-			if (rendering != null)
-			{
-				if (rendering.getMemoryBlock() == memoryBlock)
-				{
-					if (rendering instanceof IResettableMemoryRendering)
-					{
-						IResettableMemoryRendering resettableRendering = (IResettableMemoryRendering)rendering;
-						try {
-							resettableRendering.resetRendering();
-						} catch (DebugException e) {
-							// do not pop up error message
-							// error message is annoying where there are multiple rendering
-							// panes and renderings to reset
-						}
-					}
-				}
-			}
-		}
-		else
-		{
-			// get all renderings associated with the given memory block
-			IMemoryRendering[] renderings = fRenderingMgr.getRenderingsFromMemoryBlock(memoryBlock);
-			
-			// back up current synchronization provider
-			IMemoryRendering originalProvider = null;
-			IMemoryRenderingSynchronizationService service = getMemoryRenderingSite().getSynchronizationService();
-			if (service != null)
-				originalProvider = service.getSynchronizationProvider();
-			
-			for (int i=0; i<renderings.length; i++)
-			{
-				if (renderings[i] instanceof IResettableMemoryRendering)
-				{
-					try {
-						
-						// This is done to allow user to select multiple memory monitors and 
-						// reset their renderings.
-						// In this case, a hidden rendering will not be the sync provider to the sync
-						// service.  When the reset happens, the top visible address and selected
-						// address is not updated in the sync service.  When the rendering later
-						// becomes visible, the rendering gets the sync info from the sync service
-						// and will try to sync up with old information, giving user the impression
-						// that the rendering was never reset.  By forcing the rendering that we
-						// are trying to reset as the synchronization provider, we ensure that
-						// the rendering is able to update its sync info even though the rendering
-						// is currently hidden.
-						if (service != null)
-							service.setSynchronizationProvider(renderings[i]);
-						((IResettableMemoryRendering)renderings[i]).resetRendering();
-					} catch (DebugException e) {
-						// do not pop up error message
-						// error message is annoying where there are multiple rendering
-						// panes and renderings to reset
-					}
-				}
-			}
-			
-			// restore synchronization provider
-			if (service != null)
-				service.setSynchronizationProvider(originalProvider);
-		}
-	}
-	
-	private boolean isDisposed()
-	{
-		return fIsDisposed;
-	}
-
-	public void contextActivated(final ISelection selection, IWorkbenchPart part) {
-		
-		UIJob job = new UIJob("contextActivated"){ //$NON-NLS-1$
-			public IStatus runInUIThread(IProgressMonitor monitor) 
-			{
-				if (isDisposed())
-					return Status.OK_STATUS;
-				
-				IMemoryViewTab lastViewTab = getTopMemoryTab();
-				
-				if (MemoryViewUtil.isValidSelection(selection))
-				{
-					if (!(selection instanceof IStructuredSelection))
-						return Status.OK_STATUS;
-
-					Object elem = ((IStructuredSelection)selection).getFirstElement();
-					
-					if (elem instanceof IDebugElement)
-					{	
-						handleDebugElementSelection(lastViewTab, (IDebugElement)elem);
-					}
-				}
-				else
-				{
-					if (lastViewTab != null)
-						lastViewTab.setEnabled(false);
-					
-					if (fStackLayout.topControl != fEmptyTabFolder)
-						emptyFolder();
-					
-				}
-				return Status.OK_STATUS;
-			}};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {
-	}
-
-	/**
-	 * @param memory
-	 */
-	private TabFolder createFolderForMemoryBlock(IMemoryBlock memory) {
-		TabFolder folder =  new TabFolder(fViewPaneCanvas, SWT.NULL);
-		
-		fTabFolderForMemoryBlock.put(memory, folder);
-		fMemoryBlockFromTabFolder.put(folder, memory);
-		fTabFolderForDebugView.put(getMemoryBlockRetrieval(memory), folder);
-		
-		// check renderings, only create if there is no rendering
-		IMemoryRendering[] renderings = fRenderingMgr.getRenderingsFromMemoryBlock(memory);
-		if (renderings.length == 0)
-		{
-			TabItem newItem = new TabItem(folder, SWT.NULL);
-			CreateRendering rendering = new CreateRendering(getInstance());
-			rendering.init(getInstance(), memory);
-			new MemoryViewTab(newItem, rendering, getInstance());
-			folder.setSelection(0);
-		}
-		
-		return folder;
-	}
-}
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 9b16ac4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-public class ResetMemoryBlockAction  implements IViewActionDelegate{
-
-	private IViewPart fView;
-	private ArrayList fSelectedMB = new ArrayList();
-
-	public void init(IViewPart view) {
-		fView = view;
-		
-	}
-
-	public void run(IAction action) {
-		
-		if (fSelectedMB.isEmpty())
-			return;
-		
-		boolean resetVisible = false;
-		
-		String resetPref = DebugUITools.getPreferenceStore().getString(IDebugPreferenceConstants.PREF_RESET_MEMORY_BLOCK);
-		if (resetPref.equals(IDebugPreferenceConstants.RESET_VISIBLE))
-			resetVisible = true;
-		
-		Iterator iter = fSelectedMB.iterator();
-		
-		while(iter.hasNext())
-		{
-			IMemoryBlock mb = (IMemoryBlock)iter.next();
-			if (fView instanceof MemoryView)
-			{
-				MemoryView memView = (MemoryView)fView;
-				IMemoryRenderingContainer[] containers = memView.getMemoryRenderingContainers();
-				
-				for (int i=0; i<containers.length; i++)
-				{
-					if (containers[i] instanceof RenderingViewPane)
-					{
-						((RenderingViewPane)containers[i]).resetRenderings(mb, resetVisible);
-					}
-				}
-			}
-		}
-		
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (selection instanceof IStructuredSelection)
-		{
-			IStructuredSelection strucSel = (IStructuredSelection)selection;
-			Object[] objs = strucSel.toArray();
-			
-			fSelectedMB.clear();
-			for (int i=0; i<objs.length; i++)
-			{
-				if (objs[i] instanceof IMemoryBlock)
-					fSelectedMB.add(objs[i]);
-				if (objs[i] instanceof IMemoryRendering)
-					fSelectedMB.add(((IMemoryRendering)objs[i]).getMemoryBlock());
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java
deleted file mode 100644
index 1aa8998..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.PlatformUI;
-
-public class ResetMemoryBlockPreferencePage extends FieldEditorPreferencePage{
-	
-	public ResetMemoryBlockPreferencePage()
-	{
-		super(FieldEditorPreferencePage.GRID);
-		setPreferenceStore(DebugUITools.getPreferenceStore());
-		setTitle(DebugUIMessages.ResetMemoryBlockPreferencePage_0);
-	}
-	
-
-	protected void createFieldEditors() {
-		RadioGroupFieldEditor editor = new RadioGroupFieldEditor(IDebugPreferenceConstants.PREF_RESET_MEMORY_BLOCK, DebugUIMessages.ResetMemoryBlockPreferencePage_1, 1, new String[][] {{DebugUIMessages.ResetMemoryBlockPreferencePage_2, IDebugPreferenceConstants.RESET_VISIBLE},{DebugUIMessages.ResetMemoryBlockPreferencePage_3, IDebugPreferenceConstants.RESET_ALL}}, getFieldEditorParent());
-		addField(editor);
-	}
-	
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".resetMemoryMonitor_preference_page_context"); //$NON-NLS-1$
-		return super.createContents(parent);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java
deleted file mode 100644
index dfa60c0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.actions.IAddMemoryBlocksTarget;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-
-/**
- * This is the retargettable add memory block action in the Memory View.
- * All AddMemoryBlock actions in the view will use this action to make sure
- * that clients can override the "Add Memory Monitor" dialog. 
- *
- */
-public class RetargetAddMemoryBlockAction extends AddMemoryBlockAction {
-
-	public RetargetAddMemoryBlockAction(IMemoryRenderingSite site)
-	{
-		super(site);
-	}
-	
-	public RetargetAddMemoryBlockAction(IMemoryRenderingSite site, boolean addDefaultRenderings)
-	{
-		super(site, addDefaultRenderings);
-	}
-	
-	public RetargetAddMemoryBlockAction(String text, int style, IMemoryRenderingSite site)
-	{
-		super(text, style, site);
-	}
-
-	public void run() {
-		//	get current selection from Debug View
-		Object debugContext = DebugUITools.getDebugContext();
-		IAddMemoryBlocksTarget target = getAddMemoryBlocksTarget(debugContext);
-		
-		if (target != null)
-		{
-			try {
-				if (target.supportsAddMemoryBlocks(getMemoryView()))
-				{
-					target.addMemoryBlocks(getMemoryView(), getMemoryView().getSite().getSelectionProvider().getSelection());
-				}
-				else
-					super.run();
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.RetargetAddMemoryBlockAction_0, ActionMessages.RetargetAddMemoryBlockAction_1, e);
-			}
-		}
-		else	
-		{
-			super.run();
-		}
-	}
-
-	protected void updateAction(Object debugContext) {
-		
-		try {
-			IAddMemoryBlocksTarget target = getAddMemoryBlocksTarget(debugContext);
-			
-			if (target != null)
-			{
-				if (target.supportsAddMemoryBlocks(getMemoryView()))
-				{
-					if (getMemoryView().getSite().getSelectionProvider() != null)
-						setEnabled(target.canAddMemoryBlocks(getMemoryView(), getMemoryView().getSite().getSelectionProvider().getSelection()));
-					else
-						super.updateAction(debugContext);
-				}
-				else
-					super.updateAction(debugContext);
-			}
-			else
-			{
-				super.updateAction(debugContext);
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-	}
-	
-	private IAddMemoryBlocksTarget getAddMemoryBlocksTarget(Object debugContext)
-	{
-		IMemoryBlockRetrieval standardMemRetrieval = MemoryViewUtil.getMemoryBlockRetrieval(debugContext);
-		
-		if (standardMemRetrieval == null)
-			return null;
-		
-		IAddMemoryBlocksTarget target = null;
-		
-		if (standardMemRetrieval instanceof IAddMemoryBlocksTarget)
-		{
-			target = (IAddMemoryBlocksTarget) standardMemRetrieval;
-		}
-		else if (standardMemRetrieval instanceof IAdaptable)
-		{
-			target = (IAddMemoryBlocksTarget)((IAdaptable)standardMemRetrieval).getAdapter(IAddMemoryBlocksTarget.class);
-		}
-		return target;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java
deleted file mode 100644
index 559c20c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-
-public class SetPaddedStringPreferencePage extends FieldEditorPreferencePage {
-	
-	private StringFieldEditor fPaddedString;
-
-	public SetPaddedStringPreferencePage()
-	{
-		super(FieldEditorPreferencePage.GRID);
-		setPreferenceStore(DebugUITools.getPreferenceStore());
-		setTitle(DebugUIMessages.SetPaddedStringDialog_0);
-		
-	}
-
-	protected void createFieldEditors() {
-		fPaddedString = new StringFieldEditor(IDebugUIConstants.PREF_PADDED_STR, DebugUIMessages.SetPaddedStringPreferencePage_0, getFieldEditorParent());
-		fPaddedString.setEmptyStringAllowed(false);
-		fPaddedString.setTextLimit(5);
-		addField(fPaddedString);
-	}
-
-	protected Label createDescriptionLabel(Composite parent) {
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(DebugUIMessages.SetPaddedStringDialog_1);
-		return label;
-	}
-
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".SetPaddedStrDialog_context"); //$NON-NLS-1$
-		return super.createContents(parent);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java
deleted file mode 100644
index eabf4c4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-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.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IMemoryBlockListener;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-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.ILabelDecorator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-public class SwitchMemoryBlockAction extends Action implements IViewActionDelegate, IActionDelegate2 {
-
-	private IViewPart fView;
-	private MenuCreator fMenuCreator;
-	private IAction fAction;
-	
-	private IMemoryBlockListener fListener = new IMemoryBlockListener() {
-		public void memoryBlocksAdded(IMemoryBlock[] memory) {
-			updateActionEnablement();	
-		}
-
-		public void memoryBlocksRemoved(IMemoryBlock[] memory) {
-			updateActionEnablement();
-		}
-	};
-	
-	private IDebugContextListener fDebugContextListener = new IDebugContextListener() {
-
-		public void contextActivated(ISelection selection, IWorkbenchPart part) {
-			updateActionEnablement();
-		}
-
-		public void contextChanged(ISelection selection, IWorkbenchPart part) {
-			updateActionEnablement();
-		}};
-	
-	/**
-	 * Switch tab folder for fMemoryBlock to the top in Memory Rendering View
-	 */
-	class SwitchToAction extends Action
-	{
-		private IMemoryBlock fMemoryblock;
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.action.IAction#run()
-		 */
-		public void run() {
-			if (fView == null)
-				return;
-			
-			// tell the view to switch memory block
-			fView.getSite().getSelectionProvider().setSelection(new StructuredSelection(fMemoryblock));
-		}
-
-		public SwitchToAction(final IMemoryBlock memBlk, boolean buildLabel)
-		{
-			super();
-			
-			if (buildLabel)
-			{
-				setText(DebugUIMessages.SwitchMemoryBlockAction_4);
-				Job job = new Job("SwtichToAction"){ //$NON-NLS-1$
-	
-					protected IStatus run(IProgressMonitor monitor) {
-						getLabels(memBlk);
-						return Status.OK_STATUS;
-					}}; 
-				job.setSystem(true);
-				job.schedule();
-			}
-			
-			fMemoryblock = memBlk;
-		}
-		
-		public SwitchToAction(final IMemoryBlock memBlk, String label)
-		{
-			super(label);
-			fMemoryblock = memBlk;
-		}
-		
-		
-		private void getLabels(final IMemoryBlock memBlk)
-		{
-			StringBuffer text = new StringBuffer(""); //$NON-NLS-1$
-			String label = new String(""); //$NON-NLS-1$
-			if (memBlk instanceof IMemoryBlockExtension)
-			{
-				String expression = ((IMemoryBlockExtension)memBlk).getExpression();
-				if (expression == null)
-					expression = DebugUIMessages.SwitchMemoryBlockAction_0;
-				
-				text.append(expression);
-			}
-			else
-			{
-				long address = memBlk.getStartAddress();
-				text.append(Long.toHexString(address));
-			}
-			
-			label = text.toString();
-			label = decorateLabel(memBlk, label);
-
-			final String finalLabel = label;
-			WorkbenchJob job = new WorkbenchJob("SwtichToAction Update Label") { //$NON-NLS-1$
-				public IStatus runInUIThread(IProgressMonitor monitor) {
-					SwitchToAction.super.setText(finalLabel);
-					return Status.OK_STATUS;
-				}};
-			job.setSystem(true);
-			job.schedule();
-		}
-	}
-	
-	class MenuCreator implements IMenuCreator
-	{
-		Menu dropdown;
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.action.IMenuCreator#dispose()
-		 */
-		public void dispose() {
-			if (dropdown != null)
-				dropdown.dispose();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
-		 */
-		public Menu getMenu(Control parent) {
-			
-			if (dropdown != null)
-			{	
-				dropdown.dispose();
-				dropdown = null;
-			}
-			
-			if (dropdown == null)
-			{	
-				dropdown =  new Menu(parent);
-
-				// get all memory blocks from tree viewer
-				IMemoryBlock[] allMemoryBlocks = null;
-				
-				// get selection from memory view
-				IMemoryBlock memoryBlock = getCurrentMemoryBlock();
-			
-				Object context = DebugUITools.getDebugContext();
-				IMemoryBlockRetrieval retrieval =  MemoryViewUtil.getMemoryBlockRetrieval(context);
-				if (retrieval != null)
-				{
-					allMemoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval);
-				}
-				
-				if (allMemoryBlocks != null)
-				{
-					for (int i=0; i<allMemoryBlocks.length; i++)
-					{	
-						SwitchToAction action = new SwitchToAction(allMemoryBlocks[i], true);
-						
-						if (allMemoryBlocks[i] == memoryBlock)
-							action.setChecked(true);
-						
-						ActionContributionItem item = new ActionContributionItem(action);
-						item.fill(dropdown, -1);
-						
-						item.getAction().setChecked(true);
-					}
-				}
-			}
-			
-			return dropdown;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
-		 */
-		public Menu getMenu(Menu parent) {
-			return null;
-		}
-		
-	}	
-	
-	public void init(IViewPart view) {
-		fView = view;
-		DebugContextManager.getDefault().addDebugContextListener(fDebugContextListener, fView.getViewSite().getWorkbenchWindow());
-		DebugPlugin.getDefault().getMemoryBlockManager().addListener(fListener);
-		updateActionEnablement();
-	}
-	
-	private AsynchronousTreeViewer getViewer()
-	{
-		if (fView == null)
-			return null;
-		
-		if (fView instanceof MemoryView) 
-		{
-			MemoryView memView = (MemoryView)fView;
-			IMemoryViewPane pane = memView.getViewPane(MemoryBlocksTreeViewPane.PANE_ID);
-			if (pane instanceof MemoryBlocksTreeViewPane)
-			{
-				AsynchronousTreeViewer viewer = ((MemoryBlocksTreeViewPane)pane).getViewer();
-				return viewer;
-			}
-		}
-		return null;
-	}
-	
-	private void updateActionEnablement()
-	{
-		if (fAction != null)
-		{
-			IAdaptable context = DebugUITools.getDebugContext();
-			if (context != null)
-			{
-				IMemoryBlockRetrieval retrieval = null;
-				
-				if (context.getAdapter(IMemoryBlockRetrieval.class) != null)
-					retrieval = (IMemoryBlockRetrieval)context.getAdapter(IMemoryBlockRetrieval.class);
-				
-				if (retrieval == null && context instanceof IMemoryBlockRetrieval)
-					retrieval = (IMemoryBlockRetrieval)context;
-				
-				if (retrieval == null && context instanceof IDebugElement)
-					retrieval = ((IDebugElement)context).getDebugTarget();
-				
-				if (retrieval != null)
-				{
-					IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval);
-					fAction.setEnabled(memoryBlocks.length > 0);
-					return;
-				}
-				else if (getViewer() != null)
-				{
-					AsynchronousTreeViewer viewer = getViewer();
-					if (viewer.getInput() != null && viewer.getInput() instanceof IMemoryBlockRetrieval)
-					{
-						retrieval = (IMemoryBlockRetrieval)viewer.getInput();
-						IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval);
-						fAction.setEnabled(memoryBlocks.length > 0);
-						return;
-					}
-				}
-			}
-			fAction.setEnabled(false);
-		}
-	}
-
-	public void run(IAction action) {
-		switchToNext();
-	}
-
-	public void run() {
-		switchToNext();
-	}
-
-	private void switchToNext() {		
-		IAdaptable context = DebugUITools.getDebugContext();
-		if (context instanceof IDebugElement)
-		{
-			IDebugElement debugContext = (IDebugElement)context;
-			IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval)debugContext.getAdapter(IMemoryBlockRetrieval.class);
-			if (retrieval == null)
-				retrieval = debugContext.getDebugTarget();
-			
-			if (retrieval != null)
-			{
-				IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval);
-				doSwitchToNext(memoryBlocks);
-			}
-		}
-	}
-
-	/**
-	 * @param memoryBlocks
-	 */
-	private void doSwitchToNext(IMemoryBlock[] memoryBlocks) {
-		// only run if there is more than one memory block
-		if (memoryBlocks.length > 1)
-		{
-			IMemoryBlock current = getCurrentMemoryBlock();
-			
-			int next = 0;
-			if (current != null)
-			{
-				for (int i=0; i<memoryBlocks.length; i++)
-				{
-					if (memoryBlocks[i] == current)
-						next = i+1;
-				}
-			}
-			
-			if (next > memoryBlocks.length-1)
-				next = 0;
-			
-			SwitchToAction switchAction = new SwitchToAction(memoryBlocks[next], false);
-			switchAction.run();
-		}
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	public void init(IAction action) {
-		fAction = action;
-		updateActionEnablement();
-		fMenuCreator = new MenuCreator();
-		action.setMenuCreator(fMenuCreator);
-	}
-
-	public void dispose() {
-		fAction = null;
-		DebugPlugin.getDefault().getMemoryBlockManager().removeListener(fListener);
-		DebugContextManager.getDefault().removeDebugContextListener(fDebugContextListener, fView.getViewSite().getWorkbenchWindow());
-		
-		if (fMenuCreator != null)
-			fMenuCreator.dispose();
-	}
-
-	public void runWithEvent(IAction action, Event event) {
-		switchToNext();
-	}
-
-	private IMemoryBlock getCurrentMemoryBlock() {
-		if (fView == null)
-			return null;
-		
-		ISelection memBlkSelection = fView.getSite().getSelectionProvider().getSelection();
-		IMemoryBlock memoryBlock = null;
-		
-		if (memBlkSelection != null)
-		{	
-			if (!memBlkSelection.isEmpty() && memBlkSelection instanceof IStructuredSelection)
-			{	
-				Object obj = ((IStructuredSelection)memBlkSelection).getFirstElement();
-				
-				if (obj instanceof IMemoryBlock)
-				{	
-					memoryBlock = (IMemoryBlock)obj;
-				}
-				else if (obj instanceof IMemoryRendering){
-					memoryBlock = ((IMemoryRendering)obj).getMemoryBlock();
-				}
-			}
-		}
-		return memoryBlock;
-	}
-
-	/**
-	 * @param memBlk
-	 * @param label
-	 */
-	private String decorateLabel(final IMemoryBlock memBlk, String label) {
-		ILabelDecorator decorator = (ILabelDecorator)memBlk.getAdapter(ILabelDecorator.class);
-		if (decorator != null)
-			label = decorator.decorateText(label, memBlk);
-		return label;
-	}
-
-}
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 974b876..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-
-/**
- * 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 IMemoryBlock fBlock;			// memory block blocked by the views
-	private Hashtable fProperties;			// list of properties to be synchronized
-
-	/**
-	 * Create a new synchronization info object for the memory block
-	 * @param block
-	 */
-	public SynchronizeInfo(IMemoryBlock block)
-	{
-		fBlock = block;
-		fProperties = new Hashtable();
-	}
-	
-	
-	/**
-	 * 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 value of the property
-	 */
-	public Object getProperty(String propertyId)
-	{
-		if (propertyId == null)
-			return null;
-			
-		Object value = fProperties.get(propertyId);
-		
-		return value;	
-	}
-	
-	/**
-	 * @return all the property ids stored in this sync info object
-	 */
-	public String[] getPropertyIds()
-	{
-		if (fProperties == null)
-			return new String[0];
-		
-		Enumeration enumeration = fProperties.keys();
-		ArrayList ids = new ArrayList();
-		
-		while (enumeration.hasMoreElements())
-		{
-			ids.add(enumeration.nextElement());
-		}
-		
-		return (String[])ids.toArray(new String[ids.size()]);
-	}
-	
-	/**
-	 * Clean up the synchronization info object
-	 */
-	public void delete()
-	{
-		
-		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/ToggleMemoryMonitorsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.java
deleted file mode 100644
index 8595c83..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-
-/**
- * Toggles the visiblity of a view pane.
- * @since 3.1
- *
- */
-public class ToggleMemoryMonitorsAction extends ToggleViewPaneAction {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.ToggleViewPaneAction#getPaneId()
-	 */
-	public String getPaneId() {
-		return MemoryBlocksTreeViewPane.PANE_ID;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java
deleted file mode 100644
index 68d1474..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Toggles the visibility of the rendering view pane 2.
- * @since 3.1
- *
- */
-public class ToggleSplitPaneAction extends ToggleViewPaneAction {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.ToggleViewPaneAction#getPaneId()
-	 */
-	public String getPaneId() {
-		return IDebugUIConstants.ID_RENDERING_VIEW_PANE_2;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java
deleted file mode 100644
index 645c2d7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * @since 3.1
- */
-abstract public class ToggleViewPaneAction  extends Action implements IViewActionDelegate, IActionDelegate2, IPropertyChangeListener {
-
-	MemoryView fView;
-	IAction fAction;
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		if (view instanceof MemoryView)
-		{
-			fView = (MemoryView)view;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		
-		if (fView == null)
-			return;
-		
-		fView.showViewPane(!fView.isViewPaneVisible(getPaneId()), getPaneId());
-		
-		if (fView.isViewPaneVisible(getPaneId()))
-			action.setChecked(true);
-		else
-			action.setChecked(false);
-		
-	}
-	
-	public void run() {
-		if (fView == null)
-			return;
-		
-		fView.showViewPane(!fView.isViewPaneVisible(getPaneId()), getPaneId());
-	}
-
-	/* (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) {
-		if (fView.isViewPaneVisible(getPaneId()))
-			action.setChecked(true);
-		else
-			action.setChecked(false);
-	}
-
-	public void dispose() {
-		DebugUITools.getPreferenceStore().removePropertyChangeListener(this);
-	}
-
-	public void init(IAction action) {
-		fAction = action;
-		DebugUITools.getPreferenceStore().addPropertyChangeListener(this);
-	}
-
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-
-	public void propertyChange(PropertyChangeEvent event) {
-		if (fView != null && fAction != null)
-		{
-			if (fView.isViewPaneVisible(getPaneId()))
-				fAction.setChecked(true);
-			else
-				fAction.setChecked(false);
-		}
-	}
-	
-	abstract public String getPaneId();	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneOrientationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneOrientationAction.java
deleted file mode 100644
index d8db09c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneOrientationAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.PlatformUI;
-
-class ViewPaneOrientationAction extends Action 
-{
-		private MemoryView fView;
-		private int fOrientation;
-
-		ViewPaneOrientationAction(MemoryView view, int orientation)
-		{
-			super("", AS_RADIO_BUTTON); //$NON-NLS-1$
-			fView = view;
-			fOrientation = orientation;
-			
-			if (orientation == MemoryView.HORIZONTAL_VIEW_ORIENTATION) {
-				setText(DebugUIMessages.ViewPaneOrientationAction_0);  
-				setToolTipText(DebugUIMessages.ViewPaneOrientationAction_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 == MemoryView.VERTICAL_VIEW_ORIENTATION) {
-				setText(DebugUIMessages.ViewPaneOrientationAction_2);  
-				setToolTipText(DebugUIMessages.ViewPaneOrientationAction_3);    
-				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));
-			} 
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.MEMORY_VIEW_PANE_ORIENTATION_ACTION);
-		}
-
-		public void run() {
-			fView.setViewPanesOrientation(fOrientation);
-		}
-		
-		public int getOrientation()
-		{
-			return fOrientation;
-		}
-	}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java
deleted file mode 100644
index 3b2b5a0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java
+++ /dev/null
@@ -1,406 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.io.IOException;
-import java.util.ArrayList;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.LaunchManager;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingSite;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * A View Pane Rendering Manager manages all the rendering from a view pane.
- * It is responsible for handling debug events and removing renderings
- * from the view pane as a debug session is terminated.
- * In addition, the rendering manager is responsible for persisting memory renderings.
- * Renderings need to be persisted when the memory view is disposed.  If the view is
- * opened again, the same set of renderings will be created in the view pane if 
- * the renderings are still valid.
- * @since 3.1
- */
-public class ViewPaneRenderingMgr implements IDebugEventSetListener{
-
-	private ArrayList fRenderings = new ArrayList();
-	private IMemoryRenderingContainer fViewPane;
-	
-	private static final String RENDERINGS_TAG = "persistedMemoryRenderings"; //$NON-NLS-1$
-	private static final String MEMORY_RENDERING_TAG = "memoryRendering"; //$NON-NLS-1$
-	private static final String MEMORY_BLOCK = "memoryBlock"; //$NON-NLS-1$
-	private static final String RENDERING_ID = "renderingId"; //$NON-NLS-1$
-	
-	public ViewPaneRenderingMgr(IMemoryRenderingContainer viewPane)
-	{
-		fViewPane = viewPane;
-		loadPersistedRenderings(getPrefId());
-	}
-
-	public void removeMemoryBlockRendering(IMemoryBlock mem, String renderingId)
-	{
-		if(fRenderings == null)
-			return;
-		
-		IMemoryRendering[] toRemove = getRenderings(mem, renderingId);
-		
-		for (int i=0; i<toRemove.length; i++)
-		{
-			fRenderings.remove(toRemove[i]);
-			
-			// remove listener after the last memory block has been removed
-			if (fRenderings.size() == 0)
-			{
-				DebugPlugin.getDefault().removeDebugEventListener(this);
-			}
-		}
-		
-		storeRenderings();
-	}
-	
-
-	public void addMemoryBlockRendering(IMemoryRendering rendering) {
-		
-		// do not allow duplicated objects
-		if (fRenderings.contains(rendering))
-			return;
-		
-		fRenderings.add(rendering);
-		
-		// add listener for the first memory block added
-		if (fRenderings.size() == 1)
-		{
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-		
-		storeRenderings();
-	}
-
-
-	public void removeMemoryBlockRendering(IMemoryRendering rendering) {
-		if(rendering == null)
-			return;
-		
-		if(!fRenderings.contains(rendering))
-			return;
-		
-		fRenderings.remove(rendering);
-		
-		// remove listener after the last memory block has been removed
-		if (fRenderings.size() == 0)
-		{
-			DebugPlugin.getDefault().removeDebugEventListener(this);
-		}
-		
-		storeRenderings();
-	}
-
-	public IMemoryRendering[] getRenderings(IMemoryBlock mem, String renderingId)
-	{
-		if (renderingId == null)
-		{
-			return getRenderingsFromMemoryBlock(mem);
-		}
-		
-		ArrayList ret = new ArrayList();
-		for (int i=0; i<fRenderings.size(); i++)
-		{
-			if (fRenderings.get(i) instanceof IMemoryRendering)
-			{
-				IMemoryRendering rendering = (IMemoryRendering)fRenderings.get(i);
-				if (rendering.getMemoryBlock() == mem && renderingId.equals(rendering.getRenderingId()))
-				{
-					ret.add(rendering);
-				}
-			}
-		}
-		
-		return (IMemoryRendering[])ret.toArray(new IMemoryRendering[ret.size()]);
-	}
-	
-	public IMemoryRendering[] getRenderings()
-	{
-		return (IMemoryRendering[])fRenderings.toArray(new IMemoryRendering[fRenderings.size()]);
-	}
-
-	public IMemoryRendering[] getRenderingsFromDebugTarget(IDebugTarget target)
-	{
-		ArrayList ret = new ArrayList();
-		for (int i=0; i<fRenderings.size(); i++)
-		{
-			if (fRenderings.get(i) instanceof IMemoryRendering)
-			{
-				IMemoryRendering rendering = (IMemoryRendering)fRenderings.get(i);
-				if (rendering.getMemoryBlock().getDebugTarget() == target)
-				{
-					ret.add(rendering);
-				}
-			}
-		}
-		
-		return (IMemoryRendering[])ret.toArray(new IMemoryRendering[ret.size()]);
-	}
-	
-
-	public IMemoryRendering[] getRenderingsFromMemoryBlock(IMemoryBlock block)
-	{
-		ArrayList ret = new ArrayList();
-		for (int i=0; i<fRenderings.size(); i++)
-		{
-			if (fRenderings.get(i) instanceof IMemoryRendering)
-			{
-				IMemoryRendering rendering = (IMemoryRendering)fRenderings.get(i);
-				if (rendering.getMemoryBlock() == block)
-				{
-					ret.add(rendering);
-				}
-			}
-		}
-		
-		return (IMemoryRendering[])ret.toArray(new IMemoryRendering[ret.size()]);		
-	}	
-	
-	
-
-	public void handleDebugEvents(DebugEvent[] events) {
-		
-		for (int i=0; i < events.length; i++)
-			handleDebugEvent(events[i]);
-		
-	}
-	
-	public void handleDebugEvent(DebugEvent event) {
-		Object obj = event.getSource();
-		IDebugTarget dt = null;
-		
-		if (event.getKind() == DebugEvent.TERMINATE)
-		{
-			// a terminate event could happen from an IThread or IDebugTarget
-			// Only handle terminate event from debug target
-			if (obj instanceof IDebugTarget)
-			{
-				dt = ((IDebugTarget)obj);
-				
-				// returns empty array if dt == null
-				IMemoryRendering[] deletedrendering = getRenderingsFromDebugTarget(dt);
-				
-				for (int i=0; i<deletedrendering.length; i++)
-				{
-					removeMemoryBlockRendering(deletedrendering[i].getMemoryBlock(), deletedrendering[i].getRenderingId());
-					fViewPane.removeMemoryRendering(deletedrendering[i]);
-				}
-			}
-		}
-	}
-
-	public void dispose()
-	{
-		// remove all renderings
-		fRenderings.clear();
-		
-		String secondaryId = getViewSiteSecondaryId();
-		if (secondaryId != null)
-		{
-			// do not save renderings if this is not the primary rendering view
-			String prefid = getPrefId();
-			Preferences prefs = DebugUIPlugin.getDefault().getPluginPreferences();
-			prefs.setToDefault(prefid);
-		}
-			
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-	}
-	
-	/**
-	 * Store renderings as preferences.  If renderings are stored, renderings
-	 * can be persisted even after the memory view is closed.
-	 */
-	private void storeRenderings()
-	{
-		Preferences prefs = DebugUIPlugin.getDefault().getPluginPreferences();
-		String renderingsStr= ""; //$NON-NLS-1$
-		try {
-			renderingsStr= getRenderingsAsXML();
-		} catch (IOException e) {
-			DebugUIPlugin.log(e);
-		} catch (ParserConfigurationException e) {
-			DebugUIPlugin.log(e);
-		} catch (TransformerException e) {
-			DebugUIPlugin.log(e);
-		}
-		
-		String prefid = getPrefId();
-		
-		if (renderingsStr != null)
-			prefs.setValue(prefid, renderingsStr);
-		else
-			prefs.setToDefault(prefid);
-	}
-
-	private String getPrefId() {
-		// constructs id based on memory view's secondary id + the rendering view pane id
-		// format:  secondaryId:viewPaneId
-		StringBuffer id = new StringBuffer();
-		IMemoryRenderingSite renderingSite = fViewPane.getMemoryRenderingSite();
-		IWorkbenchPartSite ps = renderingSite.getSite();
-		if (ps instanceof IViewSite)
-		{
-			IViewSite vs = (IViewSite)ps;
-			String secondaryId = vs.getSecondaryId();
-			if (secondaryId != null)
-			{
-				id.append(secondaryId);
-				id.append(":"); //$NON-NLS-1$
-			}
-			
-		}
-		id.append(fViewPane.getId());
-		String prefId = id.toString();
-		return prefId;
-	}
-	
-	/**
-	 * Convert renderings to xml text
-	 * @return
-	 * @throws IOException
-	 * @throws ParserConfigurationException
-	 * @throws TransformerException
-	 */
-	private String getRenderingsAsXML() throws IOException, ParserConfigurationException, TransformerException {
-		IMemoryRendering[] renderings= (IMemoryRendering[])fRenderings.toArray(new IMemoryRendering[fRenderings.size()]);
-		
-		if (renderings.length == 0)
-			return null;
-		
-		Document document= LaunchManager.getDocument();
-		Element rootElement= document.createElement(RENDERINGS_TAG);
-		document.appendChild(rootElement);
-		for (int i = 0; i < renderings.length; i++) {
-			IMemoryRendering rendering= renderings[i];
-			Element element= document.createElement(MEMORY_RENDERING_TAG); 
-			element.setAttribute(MEMORY_BLOCK, Integer.toString(rendering.getMemoryBlock().hashCode()));
-			element.setAttribute(RENDERING_ID, rendering.getRenderingId());
-			rootElement.appendChild(element);
-		}
-		return LaunchManager.serializeDocument(document);
-	}
-
-	/**
-	 * Load renderings currently stored.
-	 */
-	private void loadPersistedRenderings(String prefId) {
-		String renderingsStr= DebugUIPlugin.getDefault().getPluginPreferences().getString(prefId);
-		if (renderingsStr.length() == 0) {
-			return;
-		}
-		Element root;
-		try {
-			root = DebugPlugin.parseDocument(renderingsStr);
-		} catch (CoreException e) {
-			DebugUIPlugin.logErrorMessage("An exception occurred while loading memory renderings."); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(RENDERINGS_TAG)) {
-			DebugUIPlugin.logErrorMessage("Invalid format encountered while loading memory renderings."); //$NON-NLS-1$
-			return;
-		}
-		NodeList list= root.getChildNodes();
-		boolean renderingsAdded= false;
-		for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
-			Node node= list.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				Element element= (Element) node;
-				if (!element.getNodeName().equals(MEMORY_RENDERING_TAG)) {
-					DebugUIPlugin.logErrorMessage("Invalid XML element encountered while loading memory rendering."); //$NON-NLS-1$
-					continue;
-				}
-				String memoryBlockHashCode= element.getAttribute(MEMORY_BLOCK);
-				String renderingId = element.getAttribute(RENDERING_ID);
-				
-				IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks();
-				IMemoryBlock memoryBlock = null;
-				for (int j=0; j<memoryBlocks.length; j++)
-				{
-					if (Integer.toString(memoryBlocks[j].hashCode()).equals(memoryBlockHashCode))
-						memoryBlock = memoryBlocks[j];
-				}
-				
-				if (memoryBlock != null)
-				{
-					IMemoryRenderingType[] types  = DebugUITools.getMemoryRenderingManager().getRenderingTypes(memoryBlock);
-					IMemoryRenderingType type = null;
-					for (int k=0; k<types.length; k++)
-					{
-						if (types[k].getId().equals(renderingId))
-							type = types[k];
-					}
-				
-					// if memory block is not found, the rendering is no longer valid
-					// simply ignore the rendering
-					if (type != null)
-					{
-						try {
-		
-							IMemoryRendering rendering = type.createRendering();
-							if (rendering != null)
-							{
-								rendering.init(fViewPane, memoryBlock);
-								if (!fRenderings.contains(rendering))
-								{
-								    fRenderings.add(rendering);
-								    renderingsAdded= true;
-								}
-							}
-						} catch (CoreException e1) {
-							DebugUIPlugin.log(e1);
-						}
-					}
-				}
-			}
-		}
-		if (renderingsAdded) {
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-	}	
-	
-	/**
-	 * @return secondary id, or null if not available
-	 */
-	private String getViewSiteSecondaryId()
-	{
-		IMemoryRenderingSite renderingSite = fViewPane.getMemoryRenderingSite();
-		IWorkbenchPartSite ps = renderingSite.getSite();
-		if (ps instanceof IViewSite)
-		{
-			IViewSite vs = (IViewSite)ps;
-			String secondaryId = vs.getSecondaryId();
-			return secondaryId;
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java
deleted file mode 100644
index c375da7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
- 
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-
-/**
- * Handles selection changes in a rendering view pane.
- * @since 3.1
- *
- */
-public class ViewPaneSelectionProvider implements ISelectionProvider
-{
-	ArrayList fListeners = new ArrayList();
-	ISelection fSelection;
-
-	/* (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 fSelection;
-	}
-
-	/* (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)
-	{		
-		fSelection = selection;
-		fireChanged();
-	}
-	
-	public void fireChanged()
-	{
-		SelectionChangedEvent evt = new SelectionChangedEvent(this, getSelection());
-		for (int i=0; i<fListeners.size(); i++)
-		{
-			((ISelectionChangedListener)fListeners.get(i)).selectionChanged(evt);
-		}
-	}
-}
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 e501363..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.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);
-					viewTab.getRendering().activated();
-					
-				}
-				else if (viewTab != selectedViewTab && viewTab.isEnabled())
-				{
-					// if the tab is not selected, disable it
-					viewTab.setEnabled(false);
-					viewTab.getRendering().deactivated();
-				}	
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java
deleted file mode 100644
index 4d2b01e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.memory.provisional.AbstractAsyncTextRendering;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-
-
-
-/**
- * Convert bytes into ASCII string and vice versa
- * @since 3.1
- */
-public class ASCIIRendering extends AbstractAsyncTextRendering{
-	
-	private final int numCharsPerByte = 1;
-	
-
-	public ASCIIRendering(String renderingId)
-	{
-		super(renderingId);
-		String codepage = DebugUITools.getPreferenceStore().getString(IDebugUIConstants.PREF_DEFAULT_ASCII_CODE_PAGE);
-		setCodePage(codepage);
-	}
-	
-	public void dispose() {
-		super.dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.AbstractMemoryRendering#getNumCharsPerByte()
-	 */
-	public int getNumCharsPerByte() {
-		return numCharsPerByte;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.AbstractTableRendering#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String)
-	 */
-	public byte[] getBytes(
-		String renderingId,
-		BigInteger address,
-		MemoryByte[] currentValues,
-		String data) {
-		
-		byte[] bytes =  super.getBytes(renderingId, address, currentValues, data);
-		
-		// undo the replacement of 1's to 0's.
-		for (int i=0; i<bytes.length && i < currentValues.length; i++)
-		{
-			if (bytes[i] == 1 && currentValues[i].getValue() == 0)
-			{
-				bytes[i] = 0;
-			}
-		}
-		
-		return bytes;
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.AbstractTableRendering#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[])
-	 */
-	public String getString(
-		String renderingId,
-		BigInteger address,
-		MemoryByte[] data) {
-		
-		MemoryByte[] copy = new MemoryByte[data.length];
-
-		// If a byte equals zero, it represents null in a string
-		// and often causes subsequent string not displayed or printed properly
-		// Replace all null with 1's
-		for (int i=0; i<data.length; i++){
-			copy[i] = new MemoryByte();
-			if (data[i].getValue() == 0)
-			{
-				copy[i].setValue((byte)1);
-			}
-			else
-			{
-				copy[i].setValue(data[i].getValue());
-			}
-			copy[i].setFlags(data[i].getFlags());
-		}
-		
-		return super.getString(renderingId, address, copy);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		
-		// handle code page changed event
-		if (event.getProperty().equals(IDebugUIConstants.PREF_DEFAULT_ASCII_CODE_PAGE))
-		{
-			String codePage = (String)event.getNewValue();
-			setCodePage(codePage);
-			
-			if (isVisible())
-				// just update labels, don't need to reget memory
-				updateLabels();
-		}
-		
-		super.propertyChange(event);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java
deleted file mode 100644
index 73c01e0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate;
-
-/**
- * The delegate for creating an ASCII rendering.
- * @since 3.1
- */
-public class ASCIIRenderingTypeDelegate implements IMemoryRenderingTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate#createRendering(java.lang.String)
-	 */
-	public IMemoryRendering createRendering(String id) throws CoreException {
-		return new ASCIIRendering(id);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java
deleted file mode 100644
index b2820c9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.ui.memory.AbstractMemoryRendering;
-
-/**
- * Internal base class to allow AbstractTableRendering and AbstractAsyncTableRendering
- * to share actions and dialogs.  This abstract class is not to be published.
- *
- * @since 3.2
- */
-public abstract class AbstractBaseTableRendering extends AbstractMemoryRendering {
-
-	public AbstractBaseTableRendering(String renderingId) {
-		super(renderingId);
-	}
-
-	/**
-	 * Format view tab based on the bytes per line and column.
-	 * 
-	 * @param bytesPerLine - number of bytes per line, possible values: (1 / 2 / 4 / 8 / 16) * addressableSize
-	 * @param columnSize - number of bytes per column, possible values: (1 / 2 / 4 / 8 / 16) * addressableSize
-	 * @return true if format is successful, false, otherwise
-	 */
-	abstract public boolean format(int bytesPerLine, int columnSize);
-
-	/**
-	 * Returns the addressible size of this rendering's memory block in bytes.
-	 * 
-	 * @return the addressible size of this rendering's memory block in bytes
-	 */
-	abstract public int getAddressableSize();
-
-	/**
-	 * Resize column to the preferred size.
-	 */
-	abstract public void resizeColumnsToPreferredSize();
-
-	/**
-	 * Returns the number of addressable units per row.
-	 *  
-	 * @return number of addressable units per row
-	 */
-	abstract public int getAddressableUnitPerLine();
-
-	/**
-	 * Returns the number of addressable units per column.
-	 * 
-	 * @return number of addressable units per column
-	 */
-	abstract public int getAddressableUnitPerColumn();
-
-	/**
-	 * Returns the number of bytes displayed in a single column cell.
-	 * 
-	 * @return the number of bytes displayed in a single column cell
-	 */
-	abstract public int getBytesPerColumn();
-
-	/**
-	 * Returns the number of bytes displayed in a row.
-	 * 
-	 * @return the number of bytes displayed in a row
-	 */
-	abstract public int getBytesPerLine();
-
-	/**
-	 * Updates labels of this rendering.
-	 */
-	abstract public void updateLabels();
-
-	/**
-	 * @return the label of this rendering
-	 */
-	abstract public String getLabel();
-
-	/**
-	 * Refresh the table viewer with the current top visible address.
-	 * Update labels in the memory rendering.
-	 */
-	abstract public void refresh();
-
-	/**
-	 * Moves the cursor to the specified address.
-	 * Will load more memory if the address is not currently visible.
-	 * 
-	 * @param address address to position cursor at
-	 * @throws DebugException if an exception occurrs
-	 */
-	abstract public void goToAddress(BigInteger address) throws DebugException;
-
-	/**
-	 * Returns the currently selected address in this rendering.
-	 * 
-	 * @return the currently selected address in this rendering
-	 */
-	abstract public BigInteger getSelectedAddress();
-
-	/**
-	 * Returns the currently selected content in this rendering as a String.
-	 * 
-	 * @return the currently selected content in this rendering
-	 */
-	abstract public String getSelectedAsString();
-
-	/**
-	 * Returns the currently selected content in this rendering as MemoryByte.
-	 * 
-	 * @return the currently selected content in array of MemoryByte.  
-	 * Returns an empty array if the selected address is out of buffered range.
-	 */
-	abstract public MemoryByte[] getSelectedAsBytes();
-
-	/**
-	 * Returns the number of characters a byte will convert to
-	 * or -1 if unknown.
-	 * 
-	 * @return the number of characters a byte will convert to
-	 *  or -1 if unknown
-	 */
-	abstract public int getNumCharsPerByte();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IResettableMemoryRendering#resetRendering()
-	 */
-	abstract public void resetRendering() throws DebugException;
-
-	/**
-	 * Returns text for the given memory bytes at the specified address for the specified
-	 * rendering type. This is called by the label provider for.
-	 * Subclasses must override.
-	 * 
-	 * @param renderingTypeId rendering type identifier
-	 * @param address address where the bytes belong to
-	 * @param data the bytes
-	 * @return a string to represent the memory. Cannot not return <code>null</code>.
-	 * 	Returns a string to pad the cell if the memory cannot be converted
-	 *  successfully.
-	 */
-	abstract public String getString(String renderingTypeId, BigInteger address,
-			MemoryByte[] data);
-
-	/**
-	 * Returns bytes for the given text corresponding to bytes at the given
-	 * address for the specified rendering type. This is called by the cell modifier
-	 * when modifying bytes in a memory block.
-	 * Subclasses must convert the string value to an array of bytes.  The bytes will
-	 * be passed to the debug adapter for memory block modification.
-	 * Returns <code>null</code> if the bytes cannot be formatted properly.
-	 * 
-	 * @param renderingTypeId rendering type identifier
-	 * @param address address the bytes begin at
-	 * @param currentValues current values of the data in bytes format
-	 * @param newValue the string to be converted to bytes
-	 * @return the bytes converted from a string
-	 */
-	abstract public byte[] getBytes(String renderingTypeId, BigInteger address,
-			MemoryByte[] currentValues, String newValue);
-
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java
deleted file mode 100644
index 9f11c97..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.memory.provisional.AbstractAsyncTableRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-
-/**
- * Abstract implementation to an integer rendering.
- * @since 3.1
- *
- */
-public abstract class AbstractIntegerRendering extends AbstractAsyncTableRendering {
-	
-	private int fDisplayEndianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-	
-	public AbstractIntegerRendering(String renderingId){
-		super(renderingId);
-	}
-	
-	public void init(IMemoryRenderingContainer container, IMemoryBlock block) {
-		super.init(container, block);
-		
-		// default to big endian for simple memory block
-		if (!(block instanceof IMemoryBlockExtension))
-			fDisplayEndianess = RenderingsUtil.BIG_ENDIAN;
-	}
-	
-	/**
-	 * @return Returns the currentEndianess.
-	 */
-	public int getDisplayEndianess() {
-		return fDisplayEndianess;
-	}
-
-	/**
-	 * @param currentEndianess The currentEndianess to set.
-	 */
-	public void setDisplayEndianess(int currentEndianess) {
-		fDisplayEndianess = currentEndianess;
-	}
-
-	protected int getBytesEndianess(MemoryByte[] data) {
-		int endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-		
-		if (!data[0].isEndianessKnown())
-			return endianess;
-		
-		if (data[0].isBigEndian())
-			endianess = RenderingsUtil.BIG_ENDIAN;
-		else
-			endianess = RenderingsUtil.LITTLE_ENDIAN;
-		for (int i=1; i<data.length; i++)
-		{
-			// if endianess is not known for a byte, return unknown
-			if (!data[i].isEndianessKnown())
-				return RenderingsUtil.ENDIANESS_UNKNOWN;
-			
-			int byteEndianess = data[i].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;
-			if (byteEndianess != endianess)
-			{
-				endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-				break;
-			}
-		}
-		return endianess;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java
deleted file mode 100644
index 8fcbf33..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.memory.AbstractTableRendering;
-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 AbstractTableRenderingLabelProvider extends LabelProvider implements ITableLabelProvider{
-
-	protected AbstractTableRendering fRendering;
-	
-	/**
-	 * 
-	 * Constructor for MemoryViewLabelProvider
-	 */
-	public AbstractTableRenderingLabelProvider() {
-		super();
-	}
-	
-	public AbstractTableRenderingLabelProvider(AbstractTableRendering rendering){
-		fRendering = rendering;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		fRendering = null;
-		super.dispose();
-	}
-
-	/**
-	 * @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 > (fRendering.getBytesPerLine()/fRendering.getBytesPerColumn()))
-		{
-			return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);	
-		}
-		else
-		{	
-			// if memory in the range has changed, return delta icon
-			int startOffset = (columnIndex-1)*fRendering.getBytesPerColumn();
-			int endOffset = startOffset + fRendering.getBytesPerColumn() - 1;
-			if (((TableRenderingLine)element).isRangeChange(startOffset, endOffset)) {
-				return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY_CHANGED);
-			}
-			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 = ((TableRenderingLine)element).getAddress();
-			
-			// consult model presentation for address presentation
-		}
-		else if (columnIndex > (fRendering.getBytesPerLine()/fRendering.getBytesPerColumn()))
-		{
-			columnLabel = " "; //$NON-NLS-1$
-		}
-		else
-		{	
-			int start = (columnIndex-1)*fRendering.getBytesPerColumn();
-			int end = start + fRendering.getBytesPerColumn();
-
-			MemoryByte[] bytes = ((TableRenderingLine)element).getBytes(start, end);
-			BigInteger address = new BigInteger(((TableRenderingLine)element).getAddress(), 16);
-			address = address.add(BigInteger.valueOf(start)); 
-			
-			columnLabel = fRendering.getString(fRendering.getRenderingId(), address, bytes);
-		}
-		return columnLabel;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java
deleted file mode 100644
index c366b2d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.util.ArrayList;
-
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTableModel;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousViewer;
-import org.eclipse.debug.internal.ui.viewers.ModelNode;
-
-abstract public class AbstractVirtualContentTableModel extends AsynchronousTableModel{
-
-	public AbstractVirtualContentTableModel(AsynchronousViewer viewer) {
-		super(viewer);
-	}
-
-	public Object[] getElements()
-	{
-		ModelNode[] nodes = getNodes(getRootNode().getElement());
-		ArrayList result = new ArrayList();
-		if (nodes != null)
-		{
-			for (int i=0; i<nodes.length; i++)
-			{
-				ModelNode[] children = nodes[i].getChildrenNodes();
-				if (children != null)
-				{
-					for (int j=0; j<children.length; j++)
-					{
-						result.add(children[j].getElement());
-					}
-				}
-			}
-			
-			return result.toArray();
-		}
-		return new Object[0];
-	}
-	
-	public Object getElement(int idx)
-	{
-		Object[] elements = getElements();
-		if (idx >=0 && idx < elements.length)
-			return elements[idx];
-
-		return null;
-	}
-
-	
-	public int indexOfElement(Object element)
-	{
-		Object[] elements = getElements();
-		
-		for (int i=0; i<elements.length; i++)
-		{
-			if (elements[i] == element)
-				return i;
-		}
-		return -1;
-	}
-	
-	abstract public int indexOfKey(Object key);
-	
-	abstract public int columnOf(Object element, Object key);
-	
-	abstract public Object getKey(int idx);
-	
-	abstract public Object getKey(Object element);
-	
-	abstract public Object getKey(int idx, int col);
-	
-	public void handleViewerChanged() 
-	{
-		
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java
deleted file mode 100644
index 9caa554..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * Copy action for <code>AbstractAsyncTableRendering</code>.  Only copy what is visible in the view.
- *
- */
-public class AsyncCopyTableRenderingAction extends
-		CopyTableRenderingToClipboardAction {
-
-	public AsyncCopyTableRenderingAction(AbstractBaseTableRendering rendering, StructuredViewer viewer) {
-		super(rendering, viewer);
-	}
-
-	protected String concatenateTableAsString(TableItem[] itemList) {
-		
-		Table table = null;
-		if (itemList.length > 0)
-			table = itemList[0].getParent();
-		
-		int topIndex = table.getTopIndex();
-		int itemCount = table.getItemCount();
-	    int numVisibleLines = Math.min((table.getBounds().height / table.getItemHeight()) + 2, itemCount - topIndex);
-		
-		ArrayList items = new ArrayList();
-		
-		// start at top index until there is no more data in the table
-		for (int i=topIndex; i< topIndex + numVisibleLines; i++)
-		{
-			if (itemList[i].getData() != null)
-			{
-				items.add(itemList[i]);
-			}
-			else
-				break;
-		}
-		
-		return super.concatenateTableAsString((TableItem[]) items.toArray(new TableItem[items.size()]));
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java
deleted file mode 100644
index 1148641..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.printing.Printer;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * Print action for <code>AbstractAsyncTableRendering</code>.  Only print what is visible in the view.
- *
- */
-public class AsyncPrintTableRenderingAction extends PrintTableRenderingAction {
-
-	public AsyncPrintTableRenderingAction(AbstractBaseTableRendering rendering, StructuredViewer viewer) {
-		super(rendering, viewer);
-	}
-
-	protected void printTable(TableItem[] itemList, GC printGC, Printer printer) {
-		Table table = null;
-		if (itemList.length > 0)
-			table = itemList[0].getParent();
-		
-		int topIndex = table.getTopIndex();
-		int itemCount = table.getItemCount();
-	    int numVisibleLines = Math.min((table.getBounds().height / table.getItemHeight()) + 2, itemCount - topIndex);
-		
-		ArrayList items = new ArrayList();
-		
-		// start at top index until there is no more data in the table
-		for (int i=topIndex; i< topIndex + numVisibleLines; i++)
-		{
-			if (itemList[i].getData() != null)
-			{
-				items.add(itemList[i]);
-			}
-			else
-				break;
-		}
-		
-		super.printTable((TableItem[])items.toArray(new TableItem[items.size()]), printGC, printer);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java
deleted file mode 100644
index 75e43af..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-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.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.memory.provisional.AbstractAsyncTableRendering;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * @since 3.1
- *
- */
-// TODO:  if we want "true" flexible hierarchy, also need to allow clients
-// to plug cell modifier in case the element is not MemorySegment
-public class AsyncTableRenderingCellModifier implements ICellModifier {
-
-    private boolean editActionInvoked = false;
-    private AbstractAsyncTableRendering fRendering;
-    private boolean fMBSupportsValueModification = false;
-
-    public AsyncTableRenderingCellModifier(AbstractAsyncTableRendering rendering) {
-        fRendering = rendering;
-        
-        Job job = new Job("AsyncTableRenderingCellModifier"){ //$NON-NLS-1$
-
-			protected IStatus run(IProgressMonitor monitor) {
-				fMBSupportsValueModification = fRendering.getMemoryBlock().supportsValueModification();
-				return Status.OK_STATUS;
-			}};
-		job.setSystem(true);
-		job.schedule();
-    }
-
-    /*
-     * (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 MemorySegment))
-                return false;
-
-            if (!editActionInvoked)
-                return false;
-
-            if (!isValueModificationSupported()) {
-                return false;
-            }
-
-            MemorySegment line = (MemorySegment) element;
-            if (TableRenderingLine.P_ADDRESS.equals(property)) {
-                return false;
-            }
-
-            // property is stored as number of addressable unit away from the
-            // line address
-            // to calculate offset to the memory line array, offset =
-            // numberofAddressableUnit * addressableSize
-            int addressableSize = getAddressableSize();
-
-            int offset = Integer.valueOf(property, 16).intValue() * addressableSize;
-
-            MemoryByte[] bytes = line.getBytes(offset, fRendering.getBytesPerColumn());
-            for (int i = 0; i < bytes.length; i++) {
-                if (!bytes[i].isWritable()) {
-                    canModify = false;
-                }
-            }
-            return canModify;
-        } catch (NumberFormatException e) {
-            canModify = false;
-            return canModify;
-        }
-    }
-
-    /**
-     * @return
-     */
-    private int getAddressableSize() {
-        int addressableSize = fRendering.getAddressableSize();
-        if (addressableSize < 1)
-            addressableSize = 1;
-        return addressableSize;
-    }
-
-    /*
-     * (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 MemorySegment))
-            return null;
-
-        MemorySegment line = (MemorySegment) element;
-        try {
-            if (TableRenderingLine.P_ADDRESS.equals(property))
-                return line.getAddress();
-
-            int offset = Integer.valueOf(property, 16).intValue() * getAddressableSize();
-            
-            MemoryByte[] memory = line.getBytes(offset, fRendering.getBytesPerColumn());
-
-            offset = Integer.valueOf(property, 16).intValue();
-            BigInteger address = line.getAddress().add(BigInteger.valueOf(offset));
-
-            // ask the rendering for a string representation of the bytes
-            return fRendering.getString(fRendering.getRenderingId(), address, memory);
-
-        } 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, final String property, final Object value) {
-    	
-        MemorySegment segment = null;
-        if (element instanceof TableItem) {
-        	Object data = ((TableItem)element).getData();
-        	if (data != null && data instanceof MemorySegment)
-        		segment = (MemorySegment)data;
-        	
-        } else if (element instanceof MemorySegment){
-        	segment = (MemorySegment) element;
-        }
-        
-        if (segment == null)
-        	return;
-
-        // validate data
-        if (!(value instanceof String))
-            return;
-        
-        final MemorySegment line = segment;
-        
-        Job job = new Job("Set Values"){ //$NON-NLS-1$
-
-			protected IStatus run(IProgressMonitor monitor) {
-				try {
-		            // calculate offset to update
-		            final IMemoryBlock memoryBlk = fRendering.getMemoryBlock();
-
-		            int lineOffset = Integer.valueOf(property, 16).intValue();
-
-		            // this offset is number of addressable unit from the line address
-		            final BigInteger offset = getOffset(memoryBlk, line.getAddress(), lineOffset);
-
-		            byte[] bytes = null;
-
-		            String oldValue = (String) getValue(line, property);
-
-		            if (!oldValue.equals(value)) {
-
-		                // property is number of addressable unit from line address
-		                // to calculate proper offset in the memoryViewLine's array
-		                // offset = numberOfAddressableUnit * addressableSize
-		                int offsetToLine = Integer.valueOf(property, 16).intValue() * getAddressableSize();
-
-		                MemoryByte[] oldArray = line.getBytes(offsetToLine, fRendering.getBytesPerColumn());
-
-		                BigInteger address = line.getAddress();
-		                address = address.add(BigInteger.valueOf(offsetToLine));
-
-		                bytes = fRendering.getBytes(fRendering.getRenderingId(), address, oldArray, (String) value);
-
-		                if (bytes == null)
-		                    return Status.OK_STATUS;
-
-		                if (bytes.length == 0)
-		                	 return Status.OK_STATUS;
-
-		                if (bytes.length <= oldArray.length) {
-		                    boolean changed = false;
-		                    // check that the bytes returned has actually changed
-		                    for (int i = 0; i < bytes.length; i++) {
-		                        if (bytes[i] != oldArray[i].getValue()) {
-		                            changed = true;
-		                            break;
-		                        }
-		                    }
-		                    if (!changed)
-		                    	 return Status.OK_STATUS;
-		                }
-		            } else {
-		                // return if value has not changed
-		            	 return Status.OK_STATUS;
-		            }
-		            
-		            final byte[] newByteValues = bytes;
-		            
-		            if (memoryBlk instanceof IMemoryBlockExtension)
-		                ((IMemoryBlockExtension) memoryBlk).setValue(offset, newByteValues);
-		            else
-		                memoryBlk.setValue(offset.longValue(), newByteValues);				
-		        } catch (DebugException e) {
-		            MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, DebugUIMessages.MemoryViewCellModifier_failed, e);
-		        } catch (NumberFormatException e) {
-		            MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, DebugUIMessages.MemoryViewCellModifier_failed + "\n" + DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null); //$NON-NLS-1$
-		        }
-		        return Status.OK_STATUS;
-			}};
-
-       job.setSystem(true);
-       job.schedule();
-    }
-
-    private BigInteger getOffset(IMemoryBlock memory, BigInteger lineAddress, int lineOffset) throws DebugException {
-
-        BigInteger memoryAddr;
-
-        if (memory instanceof IMemoryBlockExtension) {
-            memoryAddr = ((IMemoryBlockExtension) memory).getBigBaseAddress();
-        } else {
-            memoryAddr = BigInteger.valueOf(memory.getStartAddress());
-        }
-
-        if (memoryAddr == null)
-            memoryAddr = new BigInteger("0"); //$NON-NLS-1$
-
-        return lineAddress.subtract(memoryAddr).add(BigInteger.valueOf(lineOffset));
-    }
-
-    /**
-     * @param editActionInvoked
-     *            The editActionInvoked to set.
-     */
-    public void setEditActionInvoked(boolean editActionInvoked) {
-        this.editActionInvoked = editActionInvoked;
-    }
-    
-    private boolean isValueModificationSupported()
-    {
-    	return fMBSupportsValueModification;
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java
deleted file mode 100644
index 019db88..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.internal.ui.memory.provisional.AbstractAsyncTableRendering;
-import org.eclipse.debug.internal.ui.memory.provisional.MemoryViewPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.TableUpdatePolicy;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelChangedListener;
-import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * This update policy updates immediately after a model changed event.  The update policy will
- * only update if the rendering is visible.  Cache from the content manager is cleared
- * when the memory block has changed when the rendering is not visible
- *
- */
-public class AsyncTableRenderingUpdatePolicy extends TableUpdatePolicy
-{
-	public void modelChanged(IModelDelta node) {
-		
-		// clear current cache as it becomes invalid when the memory block is changed
-		AbstractVirtualContentTableModel model = getTableViewer().getVirtualContentModel();
-		
-		if (model != null)
-		{
-			IContentChangeComputer computer = null;
-			if (model instanceof IContentChangeComputer)
-				computer = (IContentChangeComputer)model;
-			
-			clearCache(computer);
-			
-			if (!containsEvent(node))
-			{
-				return;
-			}
-			
-			if (node.getElement() instanceof IMemoryBlock && (node.getFlags() & IModelDelta.CONTENT) != 0)
-			{
-				if (computer != null && getTableViewer() != null)
-				{
-					// only cache if the rendering is not currently displaying error
-					if (!getTableViewer().getRendering().isDisplayingError())
-					{
-						// cache visible elelements
-						computer.cache(model.getElements());
-					}
-				}
-
-				// update policy figured out what's changed in the memory block
-				// and will tell rendering to update accordinly.
-				// Updating the rendering indirectly update the table viewer
-				notifyRendering(node);
-				handleMemoryBlockChanged((IMemoryBlock)node.getElement(), node);
-				return;
-				
-			}
-			else if (node.getElement() instanceof IMemoryBlock && (node.getFlags() & IModelDelta.STATE) != 0)
-			{
-				// override handling of state change event
-				// let the super class deals with the rest of the changes
-				handleMemoryBlockChanged((IMemoryBlock)node.getElement(), node);
-				return;				
-			}				
-		}
-		
-		super.modelChanged(node);
-	}
-
-	/**
-	 * @param computer
-	 */
-	protected void clearCache(IContentChangeComputer computer) {
-		if (computer != null)
-			computer.clearCache();
-	}
-
-	private void notifyRendering(IModelDelta node) {
-		if (getTableViewer() != null)
-		{
-			IModelChangedListener listener = (IModelChangedListener)getTableViewer().getRendering().getAdapter(IModelChangedListener.class);
-			if (listener != null)
-				listener.modelChanged(node);
-		}
-	}
-	
-	protected void handleMemoryBlockChanged(IMemoryBlock mb, IModelDelta delta)
-	{
-		try {
-			if (getViewer().getPresentationContext() instanceof MemoryViewPresentationContext)
-			{
-				MemoryViewPresentationContext context = (MemoryViewPresentationContext)getViewer().getPresentationContext();
-				final AbstractAsyncTableRendering rendering = getTableRendering(context);
-				if (rendering != null)
-				{
-					if ((delta.getFlags() & IModelDelta.CONTENT) != 0)
-					{
-						TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)rendering.getAdapter(TableRenderingContentDescriptor.class);
-						
-						if (descriptor != null)
-						{
-							final BigInteger address = getMemoryBlockBaseAddress(mb);
-							if (!descriptor.isMemoryBlockBaseAddressInitialized() || !address.equals(descriptor.getContentBaseAddress()))
-							{
-								descriptor.updateContentBaseAddress();
-								UIJob job = new UIJob("go to address"){ //$NON-NLS-1$
-			
-									public IStatus runInUIThread(IProgressMonitor monitor) {
-										try {
-											rendering.goToAddress(address);
-										} catch (DebugException e) {
-											if (getTableViewer() != null)
-												getTableViewer().handlePresentationFailure(null, e.getStatus());
-										}
-										return Status.OK_STATUS;
-									}};
-								job.setSystem(true);
-								job.schedule();
-							}
-							else
-							{
-								rendering.refresh();
-							}
-						}
-					}
-					else
-					{
-						rendering.updateLabels();
-					}
-				}
-			}
-		} catch (DebugException e) {
-			if (getTableViewer() != null)
-				getTableViewer().handlePresentationFailure(null, e.getStatus());
-		}
-	}
-	
-	private BigInteger getMemoryBlockBaseAddress(IMemoryBlock mb) throws DebugException
-	{
-		if (mb instanceof IMemoryBlockExtension)
-			return ((IMemoryBlockExtension)mb).getBigBaseAddress();
-		else
-			return BigInteger.valueOf(mb.getStartAddress());
-	}
-	
-	private AsyncTableRenderingViewer getTableViewer()
-	{
-		if (getViewer() instanceof AsyncTableRenderingViewer)
-			return (AsyncTableRenderingViewer)getViewer();
-		return null;
-	}
-	
-	private boolean containsEvent(IModelDelta delta)
-	{
-		if (getViewer().getPresentationContext() instanceof MemoryViewPresentationContext)
-		{
-			MemoryViewPresentationContext context = (MemoryViewPresentationContext) getViewer().getPresentationContext();
-			if (context.getRendering() instanceof AbstractAsyncTableRendering)
-			{
-				AbstractAsyncTableRendering rendering = (AbstractAsyncTableRendering)context.getRendering();
-				if (!rendering.isVisible())
-					return false;
-			}
-		}
-		return true;
-	}
-	
-	protected AbstractAsyncTableRendering getTableRendering(MemoryViewPresentationContext context)
-	{
-		IMemoryRendering memRendering = context.getRendering();
-		if (memRendering != null && memRendering instanceof AbstractAsyncTableRendering)
-		{
-			return (AbstractAsyncTableRendering)memRendering;
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java
deleted file mode 100644
index 50ded87..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java
+++ /dev/null
@@ -1,1079 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-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.internal.ui.memory.provisional.AbstractAsyncTableRendering;
-import org.eclipse.debug.internal.ui.viewers.AbstractUpdatePolicy;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousModel;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-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.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.progress.UIJob;
-
-public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer {
-
-	private AbstractAsyncTableRendering fRendering;
-	
-	// selection keys
-	private Object fPendingSelection;
-	private Object fSelectionKey;
-	
-	// cursor and associated listeners
-	private TableCursor fTableCursor;
-	private KeyAdapter fCursorKeyAdapter;
-	private TraverseListener fCursorTraverseListener;
-	private MouseAdapter fCursorMouseListener;
-	private SelectionAdapter fCursorSelectionListener;
-
-	// cursor editor and associated listeners
-	private TableEditor fCursorEditor;
-	private FocusAdapter fEditorFocusListener;
-	private KeyAdapter fEditorKeyListener;
-	
-	private boolean fPendingFormatViewer;
-	
-	public AsyncTableRenderingViewer(AbstractAsyncTableRendering rendering, Composite parent, int style) {
-		super(parent, style);
-		fRendering = rendering;
-		
-		getTable().addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent e) {
-				handleTableMouseEvent(e);
-			}});
-		
-		createCursor(getTable());
-	}
-
-	public AbstractUpdatePolicy createUpdatePolicy() {
-		return new AsyncTableRenderingUpdatePolicy();
-	}
-	
-	public AbstractAsyncTableRendering getRendering()
-	{
-		return fRendering;
-	}
-	
-	private void createCursor(Table table)
-	{
-		fTableCursor = new TableCursor(table, 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));
-		
-		fTableCursor.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
-		
-		fCursorKeyAdapter = new KeyAdapter() {
-			public void keyPressed(KeyEvent e)
-			 {
-			 	handleCursorKeyPressed(e);
-			 }	
-		};
-		
-		fTableCursor.addKeyListener(fCursorKeyAdapter);
-		
-		fCursorTraverseListener = new TraverseListener() {
-			public void keyTraversed(TraverseEvent e) {
-				handleCursorTraverseEvt(e);
-			}};
-					
-		fTableCursor.addTraverseListener(fCursorTraverseListener);
-		
-		fCursorMouseListener = new MouseAdapter() {
-			public void mouseDown(MouseEvent e) {
-				handleCursorMouseEvent(e);
-			}};
-		fTableCursor.addMouseListener(fCursorMouseListener);
-		
-		// cursor may be disposed before disposed is called
-		// remove listeners whenever the cursor is disposed
-		fTableCursor.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if (fTableCursor == null)
-					return;
-				fTableCursor.removeTraverseListener(fCursorTraverseListener);
-				fTableCursor.removeKeyListener(fCursorKeyAdapter);
-				fTableCursor.removeMouseListener(fCursorMouseListener);
-				fTableCursor.removeSelectionListener(fCursorSelectionListener);
-			}});
-		
-		fCursorSelectionListener = new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						handleCursorMoved();
-					}
-				};
-		fTableCursor.addSelectionListener(fCursorSelectionListener);
-		fCursorEditor = new TableEditor (getTable());	
-	}
-	
-	private void handleCursorKeyPressed(KeyEvent event)
-	{
-		if (event.character == '\r' && event.getSource() instanceof TableCursor)
-		{
-			activateCellEditor(null);
-			return;
-		}		
-		
-		if (MemoryViewUtil.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);
-				activateCellEditor(initialValue);
-				return;
-			}
-		}
-	}
-	
-	private void handleCursorMouseEvent(MouseEvent e){
-		if (e.button == 1)
-		{
-			int col = fTableCursor.getColumn();
-			if (col > 0 && col <= (getNumCol()))
-				activateCellEditor(null);
-		}			
-	}
-	
-	private void handleCursorTraverseEvt(TraverseEvent e){
-		if (fTableCursor.getRow() == null)
-			return;
-		
-		Table table = (Table)fTableCursor.getParent();
-		int row = table.indexOf(fTableCursor.getRow());
-		int col = fTableCursor.getColumn();
-		if (col == getNumCol() && e.keyCode == SWT.ARROW_RIGHT)
-		{
-			if (row + 1>= table.getItemCount())
-			{
-				return;
-			}
-			
-			row = row +1;
-			col = 0;
-			fTableCursor.setSelection(row, col);
-		}
-		if (col <= 1 && e.keyCode == SWT.ARROW_LEFT)
-		{
-			if (row-1 < 0)
-			{
-				return;
-			}
-			
-			row = row - 1;
-			col = getNumCol()+1;
-			fTableCursor.setSelection(row, col);
-		}			
-		
-		handleCursorMoved();
-	}
-	
-	/**
-	 * Update selected address.
-	 * Load more memory if required.
-	 */
-	private void handleCursorMoved()
-	{	
-		fSelectionKey = getSelectionKeyFromCursor();
-		fPendingSelection = null;
-		
-		if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-			System.out.println(Thread.currentThread().getName() + " cursor moved selection is: " + ((BigInteger)fSelectionKey).toString(16)); //$NON-NLS-1$
-		
-		// now check to see if the cursor is approaching buffer limit
-		handleScrollBarSelection();
-		fireSelectionChanged(fSelectionKey);
-	}
-	
-	private int getNumCol() {
-		
-		int bytesPerLine = fRendering.getBytesPerLine();
-		int columnSize = fRendering.getBytesPerColumn();
-		
-		return bytesPerLine/columnSize;
-	}
-	
-	/**
-	 * Sets the cursor at the specified address
-	 * @param key selection key
-	 */
-	public void setSelection(Object key)
-	{
-		fPendingSelection = key;
-		attemptSetKeySelection();
-	}
-	
-	public Object getSelectionKey()
-	{
-		return fSelectionKey;
-	}
-	
-	private synchronized void attemptSetKeySelection()
-	{
-		if (fPendingSelection != null) {
-            doAttemptSetKeySelection(fPendingSelection);
-		}
-		
-	}
-	
-	synchronized private Object doAttemptSetKeySelection(final Object key)
-	{	
-		if (getBufferTopKey() == null || getBufferEndKey() == null)
-			return key;
-		
-		// calculate selected row address
-		int[] location = getCoordinatesFromKey(key);
-		if(location.length == 0)
-		{
-			return key;
-		}
-		
-		UIJob uiJob = new UIJob("Set Cursor Selection"){ //$NON-NLS-1$
-
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				try {
-					if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-						System.out.println(getRendering() + " set cursor selection " + ((BigInteger)key).toString(16)); //$NON-NLS-1$
-					
-					if (fPendingSelection != null && fPendingSelection != key)
-						return Status.OK_STATUS;
-					
-					if (fTableCursor.isDisposed())
-						return Status.OK_STATUS;
-					
-					// by the time this is called, the location may not be valid anymore
-					int[] newLocation = getCoordinatesFromKey(key);
-					if (newLocation.length == 0)
-					{
-						Object selectionKey = getSelectionKey();
-						fPendingSelection = selectionKey;
-						return Status.OK_STATUS;
-					}
-					
-					fSelectionKey = key;
-					fPendingSelection = null;
-					
-					if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-					{
-						System.out.println(getRendering() + " set cursor selection, row is " + getTable().getItem(newLocation[0]).getData()); //$NON-NLS-1$
-						System.out.println(getRendering() + " set cursor selection, model is " + getVirtualContentModel().getElement(newLocation[0])); //$NON-NLS-1$
-					}
-					
-					fTableCursor.setSelection(newLocation[0], newLocation[1]);
-					showTableCursor(true);
-					
-					int topIndex = getTable().getTopIndex();
-					Object topKey = getVirtualContentModel().getKey(topIndex);
-					setTopIndexKey(topKey);
-					
-				} catch (RuntimeException e) {
-					
-					// by the time this is called, the selection may no longer
-					// get the latest selection and try to set selection again
-					Object selectionKey = getSelectionKey();
-					fPendingSelection = selectionKey;
-					doAttemptSetKeySelection(selectionKey);
-				}
-				return Status.OK_STATUS;
-			}};
-			
-		uiJob.setSystem(true);
-		uiJob.schedule();
-		
-		return null;
-	}
-	
-	/**
-	 * 
-	 * @param key
-	 * @return the coordinates of the key
-	 * Element[0] is the row index
-	 * Element[1] is the column index
-	 */
-	private int[] getCoordinatesFromKey(Object key)
-	{
-		final int row = indexOf(key);
-		
-		if (row == -1)
-		{
-			return new int[0];
-		}
-		
-		Object element = getVirtualContentModel().getElement(row);
-		final int col = columnOf(element, key);
-		
-		if (col == -1)
-		{
-			return new int[0];
-		}
-		return new int[]{row, col};
-	}
-	
-	private Object getSelectionKeyFromCursor()
-	{	
-		int idx = getTable().indexOf(fTableCursor.getRow());		
-		int col = fTableCursor.getColumn();
-		
-		return getVirtualContentModel().getKey(idx, col);
-	}
-	
-	private Object getBufferTopKey()
-	{
-		return getKey(0);
-	}
-	
-	private Object getBufferEndKey()
-	{
-		AbstractVirtualContentTableModel model = getVirtualContentModel();
-		
-		if (model != null)
-			return getKey(model.getElements().length-1);
-		return null;
-	}
-	
-	public int indexOf(Object key)
-	{
-		int idx = -1;
-		AbstractVirtualContentTableModel model = getVirtualContentModel();
-		if (model != null)
-			idx = model.indexOfKey(key);
-		return idx;
-	}
-	
-	private int columnOf(Object element, Object key)
-	{
-		int idx = -1;
-		AbstractVirtualContentTableModel model = getVirtualContentModel();
-		if (model != null)
-		{
-			idx = model.columnOf(element, key);
-		}
-		return idx;
-	}
-	
-	public Object getKey(int index)
-	{
-		AbstractVirtualContentTableModel model = getVirtualContentModel();
-		if (model != null)
-		{
-			Object key = model.getKey(index);
-			return key;
-		}
-		return null;
-	}
-	
-	public Object getKey(int row, int col)
-	{		
-		AbstractVirtualContentTableModel model = getVirtualContentModel();
-		if (model != null)
-			return model.getKey(row, col);
-		return null;
-	}
-	
-	
-	protected synchronized void preservingSelection(Runnable updateCode) {
-		Object oldTopIndexKey = null;
-		
-		if (getPendingSetTopIndexKey() == null) {
-			// preserve selection
-			oldTopIndexKey = getTopIndexKey();
-		}
-		else
-		{
-			oldTopIndexKey = getPendingSetTopIndexKey();
-		}
-		Object oldSelectionKey = null;
-		try {
-			if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-			{
-				if (oldTopIndexKey != null)
-					System.out.println(getRendering() + " preserve top index: " + ((BigInteger)oldTopIndexKey).toString(16)); //$NON-NLS-1$
-				else
-					System.out.println("top index key is null, nothing to preserve"); //$NON-NLS-1$
-			}
-
-			if (fPendingSelection != null)
-				oldSelectionKey = fPendingSelection;
-			else
-				oldSelectionKey = getSelectionKey();
-			
-			if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-			{
-				if (oldTopIndexKey != null)
-					System.out.println(getRendering() + " preserve selection: " + ((BigInteger)oldSelectionKey).toString(16)); //$NON-NLS-1$
-				else
-					System.out.println("selection key is null, nothing to preserve"); //$NON-NLS-1$
-			}
-			
-			// perform the update
-			updateCode.run();
-			
-		} finally {
-			
-			if (oldSelectionKey != null)
-			{
-				if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-					System.out.println(getRendering() + " preserved selection " + ((BigInteger)oldSelectionKey).toString(16)); //$NON-NLS-1$
-				setSelection(oldSelectionKey);
-			}
-			
-			if (getPendingSetTopIndexKey() != null)
-			{
-				if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-					System.out.println(getRendering() + " finished top index: " + ((BigInteger)oldTopIndexKey).toString(16)); //$NON-NLS-1$
-				setTopIndex(getPendingSetTopIndexKey());
-			}
-			else if (oldTopIndexKey != null)
-			{
-				setTopIndex(oldTopIndexKey);
-				
-				if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-					System.out.println(getRendering() + " finished top index: " + ((BigInteger)oldTopIndexKey).toString(16)); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	public void dispose()
-	{
-		super.dispose();
-		
-		if (!fTableCursor.isDisposed())
-		{
-			fCursorEditor.dispose();
-			fTableCursor.removeTraverseListener(fCursorTraverseListener);
-			fTableCursor.removeKeyListener(fCursorKeyAdapter);
-			fTableCursor.removeMouseListener(fCursorMouseListener);
-		}
-	}
-	
-	public void showTableCursor(final boolean show)
-	{
-		
-		Display display = DebugUIPlugin.getDefault().getWorkbench().getDisplay();
-		if (Thread.currentThread() == display.getThread())
-		{
-			if (!fTableCursor.isDisposed())
-			{
-				if (fTableCursor.isVisible() != show)
-					fTableCursor.setVisible(show);
-			}
-		}
-		else
-		{
-			UIJob job = new UIJob("show table cursor"){ //$NON-NLS-1$
-	
-				public IStatus runInUIThread(IProgressMonitor monitor) {
-					if (!fTableCursor.isDisposed())
-					{
-						if (fTableCursor.isVisible() != show)
-							fTableCursor.setVisible(show);
-					}
-					return Status.OK_STATUS;
-				}};
-				
-			job.setSystem(true);
-			job.schedule();
-		}
-	}
-
-	private void handleTableMouseEvent(MouseEvent e) {
-		// figure out new cursor position based on here the mouse is pointing
-		TableItem[] tableItems = getTable().getItems();
-		TableItem selectedRow = null;
-		int colNum = -1;
-		int numCol = getColumnProperties().length;
-		
-		for (int j=0; j<tableItems.length; j++)
-		{
-			TableItem item = tableItems[j];
-			if (item.getData() != null)
-			{
-				for (int i=0; i<numCol; i++)
-				{
-					Rectangle bound = item.getBounds(i);
-					if (bound.contains(e.x, e.y))
-					{
-						colNum = i;
-						selectedRow = item;
-						break;
-					}
-				}
-			}
-			if (colNum >= 0)
-				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 = getTable().indexOf(selectedRow);
-			showTableCursor(true);
-			fTableCursor.setSelection(row, colNum);
-			
-			// manually call this since we don't get an event when
-			// the table cursor changes selection.
-			handleCursorMoved();
-			
-			fTableCursor.setFocus();
-		}			
-	}
-
-	/**
-	 * Activate cell editor and prefill it with initial value.
-	 * If initialValue is null, use cell content as initial value
-	 * @param initialValue
-	 */
-	private void activateCellEditor(String initialValue) {
-		
-		int col = fTableCursor.getColumn();
-		int row = indexOf(fSelectionKey);
-		
-		if (row < 0)
-			return;
-		
-		// do not allow user to edit address column
-		if (col == 0 || col > getNumCol())
-		{
-			return;
-		}
-		
-		ICellModifier cellModifier = null;
-		
-		cellModifier = getCellModifier();
-		
-		TableItem tableItem = getTable().getItem(row);
-		
-		Object element = tableItem.getData();
-		
-		if (element != null)
-		{
-			Object property = getColumnProperties()[col];
-			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.
-			((AsyncTableRenderingCellModifier)cellModifier).setEditActionInvoked(true);
-			boolean canEdit = cellModifier.canModify(element, (String)property);
-			((AsyncTableRenderingCellModifier)cellModifier).setEditActionInvoked(false);
-			
-			if (!canEdit)
-				return;
-			
-			// activate based on current cursor position
-			TextCellEditor selectedEditor = (TextCellEditor)getCellEditors()[col];
-	
-			if (selectedEditor != 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);
-				}
-				
-				text.setText(cellValue);
-		
-				fCursorEditor.horizontalAlignment = SWT.LEFT;
-				fCursorEditor.grabHorizontal = true;
-		
-				// Open the text editor in selected column of the selected row.
-				fCursorEditor.setEditor (text, tableItem, col);
-		
-				// 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);
-			}
-		}
-	}
-	
-	/*
-	 * @param text
-	 */
-	private void addListeners(Text text) {
-		fEditorFocusListener = new FocusAdapter() {
-			public void focusLost(FocusEvent e)
-			{
-				handleTableEditorFocusLost(e);
-			}
-		};
-		text.addFocusListener(fEditorFocusListener);
-		
-		fEditorKeyListener = new KeyAdapter() {
-			public void keyPressed(KeyEvent e) {
-				handleKeyEventInEditor(e);
-			}
-		};
-
-		text.addKeyListener(fEditorKeyListener);
-	}
-	
-	private void handleTableEditorFocusLost(FocusEvent event)
-	{
-		final FocusEvent e = event;
-
-		Display.getDefault().syncExec(new Runnable() {
-
-			public void run()
-			{
-				try
-				{
-					int row = indexOf(fSelectionKey);
-					int col = fTableCursor.getColumn();
-					
-					Text text = (Text)e.getSource();
-					removeListeners(text);
-
-					// get new value
-					String newValue = text.getText();
-					
-					// modify memory at fRow and fCol
-					modifyValue(row, col, newValue);
-							
-					// show cursor after modification is completed
-					setSelection(fSelectionKey);
-					fTableCursor.moveAbove(text);
-					showTableCursor(true);
-				}
-				catch (NumberFormatException e1)
-				{
-					MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, 
-						DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null);
-				}		
-			}
-		});		
-	}
-	
-	/**
-	 * @param event
-	 */
-	private void handleKeyEventInEditor(KeyEvent event) {
-		
-		final KeyEvent e = event;
-		Display.getDefault().asyncExec(new Runnable()
-		{
-			public void run()
-			{
-				Text text = (Text)e.getSource();
-				int row = indexOf(fSelectionKey);
-				int col = fTableCursor.getColumn();
-				
-				try
-				{
-					switch (e.keyCode)
-					{
-						case SWT.ARROW_UP :
-							
-							// move text editor box up one row		
-							if (row-1 < 0)
-								return;
-						
-							// modify value for current cell
-							modifyValue(row, col, text.getText());
-													
-							row--;
-
-							//	update cursor location and selection in table	
-							fTableCursor.setSelection(row, col);
-							handleCursorMoved();
-							
-							// remove listeners when focus is lost
-							removeListeners(text);
-							activateCellEditor(null);
-							break;
-						case SWT.ARROW_DOWN :
-							
-							// move text editor box down one row
-							
-							if (row+1 >= getTable().getItemCount())
-								return;
-							
-							// modify value for current cell
-							modifyValue(row, col, text.getText());
-						
-							row++;
-							
-							//	update cursor location and selection in table								
-							fTableCursor.setSelection(row, col);
-							handleCursorMoved();
-												
-							// 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
-							int numCharsPerByte = fRendering.getNumCharsPerByte();
-							if (numCharsPerByte > 0)
-							{
-								if (text.getText().length() > fRendering.getBytesPerColumn()*numCharsPerByte)
-								{
-									String newValue = text.getText();
-									text.setText(newValue.substring(0, fRendering.getBytesPerColumn()*numCharsPerByte));
-									
-									modifyValue(row, col, text.getText());
-									
-									// if cursor is at the end of a line, move to next line
-									if (col >= getNumCol())
-									{
-										col = 1;
-										row++;
-									}
-									else
-									{
-										// move to next column
-										row++;
-									}
-									
-									// update cursor position and selected address
-									fTableCursor.setSelection(row, col);
-									handleCursorMoved();
-									
-									removeListeners(text);
-						
-									// activate text editor at next cell
-									activateCellEditor(newValue.substring(fRendering.getBytesPerColumn()*numCharsPerByte));
-								}
-							}
-							break;	
-						case SWT.ESC:
-
-							// if user has pressed escape, do not commit the changes
-							// that's why "modifyValue" is not called
-							fTableCursor.setSelection(row, col);
-							handleCursorMoved();
-					
-							removeListeners(text);
-							
-							// cursor needs to have focus to remove focus from cell editor
-							fTableCursor.setFocus();
-							break;	
-						default :
-							numCharsPerByte = fRendering.getNumCharsPerByte();
-							if (numCharsPerByte > 0)
-							{								
-								if (text.getText().length()> fRendering.getBytesPerColumn()* numCharsPerByte)
-								{
-									String newValue = text.getText();
-									text.setText(newValue.substring(0,fRendering.getBytesPerColumn()* numCharsPerByte));
-									modifyValue(row, col, text.getText());
-									// if cursor is at the end of a line, move to next line
-									if (col >= getNumCol())
-									{
-										col = 1;
-										row++;
-									}
-									else
-									{
-										col++;
-									}
-									
-									fTableCursor.setSelection(row, col);
-									handleCursorMoved();
-									
-									removeListeners(text);
-									
-									activateCellEditor(newValue.substring(fRendering.getBytesPerColumn()*numCharsPerByte));
-								}
-							}
-						break;
-					}
-				}
-				catch (NumberFormatException e1)
-				{
-					MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, 
-						DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null);
-					
-					fTableCursor.setSelection(row, col);
-					handleCursorMoved();
-			
-					removeListeners(text);
-				}
-			}
-		});
-	}
-	
-	/**
-	 * @param text
-	 */
-	private void removeListeners(Text text) {
-		
-		text.removeFocusListener(fEditorFocusListener);
-		text.removeKeyListener(fEditorKeyListener);
-	}
-	
-	/**
-	 * 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;
-		}
-		
-		if (row >= 0 && row < getTable().getItemCount())
-		{
-			TableItem tableItem = getTable().getItem(row);
-	
-			Object property = getColumnProperties()[col];
-			getCellModifier().modify(tableItem, (String)property, newValue);
-		}
-	}
-	
-	public TableCursor getCursor()
-	{
-		return fTableCursor;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ContentViewer#getLabelProvider()
-	 * Implemented minimum to work with PrintTableRendering action.
-	 * This is not a real table labe provider, only goes to the table
-	 * to get the text at the specified row and column.
-	 */
-	public IBaseLabelProvider getLabelProvider() {
-		return new ITableLabelProvider() {
-
-			public Image getColumnImage(Object element, int columnIndex) {
-				return null;
-			}
-
-			public String getColumnText(Object element, int columnIndex) {
-				int idx = getVirtualContentModel().indexOfElement(element);
-				if (idx >= 0 )
-				{	
-					TableItem item = getTable().getItem(idx);
-					return item.getText(columnIndex);
-				}
-				return ""; //$NON-NLS-1$
-			}
-
-			public void addListener(ILabelProviderListener listener) {
-			}
-
-			public void dispose() {
-			}
-
-			public boolean isLabelProperty(Object element, String property) {
-				return false;
-			}
-
-			public void removeListener(ILabelProviderListener listener) {
-			}};
-	}
-	
-	public void formatViewer()
-	{
-		if (getModel() == null || !hasPendingUpdates())
-			doFormatViewer();
-		else 
-			// do not format in the middle of an update
-			// set pending update and will format when update is completed
-			fPendingFormatViewer = true;
-	}
-
-	/**
-	 * 
-	 */
-	private void doFormatViewer() {
-		fPendingFormatViewer = false;
-		preservingSelection(new Runnable() {
-
-			public void run() {
-				// causes the content of the table viewer to be replaced
-				// without asking content adapter for content
-				AbstractVirtualContentTableModel model = getVirtualContentModel();
-				if (model != null)
-				{
-					model.handleViewerChanged();
-				}
-			}});
-	}
-	
-	private void fireSelectionChanged(Object selectionKey)
-	{
-		if (selectionKey != null)
-		{
-			SelectionChangedEvent evt = new SelectionChangedEvent(this, new StructuredSelection(selectionKey));
-			fireSelectionChanged(evt);
-		}
-	}
-
-	public void handlePresentationFailure(IAsynchronousRequestMonitor monitor, IStatus status) {
-		super.handlePresentationFailure(monitor, status);
-	}
-	
-	public void refresh(boolean getContent)
-	{
-		if (getContent)
-			refresh();
-		else
-		{
-			preservingSelection(new Runnable() {
-
-				public void run() {
-					AbstractVirtualContentTableModel model = getVirtualContentModel();
-					if (model != null)
-					{
-						Object[] elements = model.getElements();
-						model.remove(elements);
-						model.add(elements);
-					}
-				}});
-		}
-	}
-	
-	protected void tableTopIndexSetComplete() {
-		
-		if (!fTableCursor.isDisposed())
-		{
-			// TODO:  work around swt bug, must force a table cursor redraw after top index is changed
-			// BUG 130130
-			int[] coordinates = getCoordinatesFromKey(getSelectionKey());
-			if (coordinates.length > 0)
-				fTableCursor.setVisible(true);
-			else
-				fTableCursor.setVisible(false);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.model.viewers.AsynchronousViewer#getModel()
-	 */
-	public AsynchronousModel getModel() {
-		return super.getModel();
-	}
-	
-	// TODO:  need pluggable model to be truly flexible
-	protected AbstractVirtualContentTableModel createVirtualContentTableModel() {
-		return new TableRenderingModel(this);
-	}
-
-	protected void updateComplete(IAsynchronousRequestMonitor monitor) {
-		super.updateComplete(monitor);
-		
-		if (!hasPendingUpdates() && !fTableCursor.isDisposed())
-		{
-			attemptSetKeySelection();
-			fTableCursor.redraw();
-			
-			// if the viewer has pending top index, then more updates will come in
-			// and the cursor should not be redrawn yet.
-			if (!hasPendingSetTopIndex())
-			{
-				preservingSelection(new Runnable() {
-
-					public void run() {
-
-						int[] coordinates = getCoordinatesFromKey(getSelectionKey());
-						if (coordinates.length > 0)
-							fTableCursor.setVisible(true);
-						else
-							fTableCursor.setVisible(false);
-					}});
-			}
-		}
-		
-		if (!hasPendingUpdates() && fPendingFormatViewer)
-		{
-			formatViewer();
-			resizeColumnsToPreferredSize();
-		}
-	}
-
-	protected void clear(Widget item) {
-		super.clear(item);
-		
-		// this table viewer assumes that #getData will return null
-		// set data to null when clearing an item.
-		// only visible item will get SET DATA event again and at that time
-		// the viewer would set the data back.
-		if (item instanceof TableItem)
-		{
-			item.setData(null);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java
deleted file mode 100644
index fa216a5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousModel;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTableViewer;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.debug.internal.ui.viewers.provisional.ILabelRequestMonitor;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.progress.UIJob;
-
-abstract public class AsyncVirtualContentTableViewer extends AsynchronousTableViewer {
-
-	private Object fPendingTopIndexKey;
-	private ArrayList fTopIndexQueue = new ArrayList();
-	
-	private boolean fPendingResizeColumns;
-	private ListenerList fVirtualContentListeners;
-	private SelectionListener fScrollSelectionListener;
-	private ListenerList fPresentationErrorListeners;
-	private Object fTopIndexKey;
-
-	public static boolean DEBUG_DYNAMIC_LOADING = false;
-	
-	public AsyncVirtualContentTableViewer(Composite parent, int style) {
-		super(parent, style);
-		fVirtualContentListeners = new ListenerList();
-		fPresentationErrorListeners = new ListenerList();
-		initScrollBarListener();
-	}
-	
-	private void initScrollBarListener()
-	{
-		ScrollBar scroll = getTable().getVerticalBar();
-		fScrollSelectionListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleScrollBarSelection();
-			}};
-		scroll.addSelectionListener(fScrollSelectionListener);
-	}
-
-	public void setTopIndex(Object key)
-	{
-		fPendingTopIndexKey = key;
-		attemptSetTopIndex();
-	}
-	
-	protected Object getPendingSetTopIndexKey()
-	{
-		return fPendingTopIndexKey;
-	}
-	
-	protected void handlePresentationFailure(IAsynchronousRequestMonitor monitor, IStatus status) {
-		notifyPresentationError(monitor, status);
-	}
-	
-	public void disposeColumns()
-	{
-		// clean up old columns
-		TableColumn[] oldColumns = getTable().getColumns();
-		
-		for (int i=0; i<oldColumns.length; i++)
-		{
-			oldColumns[i].dispose();
-		}
-	}
-	
-	public void disposeCellEditors()
-	{
-		// clean up old cell editors
-		CellEditor[] oldCellEditors = getCellEditors();
-		
-		if (oldCellEditors != null)
-		{
-			for (int i=0; i<oldCellEditors.length; i++)
-			{
-				oldCellEditors[i].dispose();
-			}
-		}
-	}
-    
-	/**
-	 * Resize column to the preferred size.
-	 */
-	public void resizeColumnsToPreferredSize() {
-		fPendingResizeColumns = true;
-		fPendingResizeColumns = attemptResizeColumnsToPreferredSize();
-	}
-	
-	private boolean attemptResizeColumnsToPreferredSize()
-	{
-		if (fPendingResizeColumns)
-		{
-			if(!hasPendingUpdates()) {
-				UIJob job = new UIJob("packcolumns"){ //$NON-NLS-1$
-
-					public IStatus runInUIThread(IProgressMonitor monitor) {
-						Table table = getTable();
-						
-						if (!table.isDisposed())
-						{
-							// if table size is zero, the rendering has not been made visible
-							// cannot pack until the rendering is visible
-							if (table.getSize().x > 0)
-							{
-								TableColumn[] columns = table.getColumns();
-								for (int i=0 ;i<columns.length-1; i++)
-								{	
-									columns[i].pack();
-								}	
-							}
-							else
-							{
-								fPendingResizeColumns = true;
-							}
-						}
-						return Status.OK_STATUS;
-					}};
-				job.setSystem(true);
-				job.schedule();	
-				return false;
-			}
-		}
-		return fPendingResizeColumns;
-	}
-	
-	/**
-	 * Attempts to update any pending setTopIndex
-	 * 
-	 * @param reveal whether to reveal the selection
-	 */
-	protected synchronized void attemptSetTopIndex() {
-		if (fPendingTopIndexKey != null) {
-            Object remaining = doAttemptSetTopIndex(fPendingTopIndexKey);
-            if (remaining == null)
-            {
-            	fPendingTopIndexKey = remaining;
-            }
-		}
-	}
-	
-	private synchronized Object doAttemptSetTopIndex(final Object topIndexKey)
-	{
-		final int i = getVirtualContentModel().indexOfKey(topIndexKey);
-		if (i >= 0)
-		{
-			UIJob job = new UIJob("set top index"){ //$NON-NLS-1$
-
-				public IStatus runInUIThread(IProgressMonitor monitor)  {
-						if (getTable().isDisposed())
-						{
-							fTopIndexQueue.clear();
-							return Status.OK_STATUS;
-						}
-						
-						int idx = getVirtualContentModel().indexOfKey(topIndexKey);
-						if (idx >= 0)
-						{
-							if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-								System.out.println("actual set top index: " + ((BigInteger)topIndexKey).toString(16)); //$NON-NLS-1$
-							fPendingTopIndexKey = null;
-							setTopIndexKey(topIndexKey);
-							getTable().setTopIndex(idx);
-							tableTopIndexSetComplete();
-						}
-						else
-						{
-							if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-								System.out.println("cannot find key, put it back to the queue: " + topIndexKey); //$NON-NLS-1$
-							fPendingTopIndexKey = topIndexKey;
-						}
-						
-						// remove the top index key from queue when it is processed
-						removeKeyFromQueue(topIndexKey);
-						
-					return Status.OK_STATUS;
-				}};
-				
-			// set top index does not happen immediately, keep track of
-			// all pending set top index
-			addKeyToQueue(topIndexKey);
-			
-			job.setSystem(true);
-			job.schedule();
-			return topIndexKey;
-		}
-		return topIndexKey;
-	}
-	
-	protected void tableTopIndexSetComplete()
-	{
-		
-	}
-	 
-	 public void addVirtualContentListener(IVirtualContentListener listener)
-	 {
-		 fVirtualContentListeners.add(listener);
-	 }
-	 
-	 public void removeVirtualContentListener(IVirtualContentListener listener)
-	 {
-		 fVirtualContentListeners.remove(listener);
-	 }
-	 
-	 protected void notifyListenersAtBufferStart()
-	 {
-		 int topIdx = getTable().getTopIndex();
-		 Object[] listeners = fVirtualContentListeners.getListeners();
-	 
-		for (int i = 0; i < listeners.length; i++) {
-			final IVirtualContentListener listener = (IVirtualContentListener) listeners[i];
-			if (topIdx <= listener.getThreshold())
-			{
-				SafeRunner.run(new ISafeRunnable() {
-					public void run() throws Exception {	
-						listener.handledAtBufferStart();
-					}
-					public void handleException(Throwable exception) {
-						DebugUIPlugin.log(exception);
-					}
-				});
-			}
-		}
-	 }
-	 
-	 protected void notifyListenersAtBufferEnd()
-	 {
-		Object[] listeners = fVirtualContentListeners.getListeners();
-		int topIdx = getTable().getTopIndex();
-		int bottomIdx = topIdx + getNumberOfVisibleLines();
-		int elementsCnt = getVirtualContentModel().getElements().length;
-		int numLinesLeft = elementsCnt - bottomIdx;
-	 
-		for (int i = 0; i < listeners.length; i++) {
-			final IVirtualContentListener listener = (IVirtualContentListener) listeners[i];
-			if (numLinesLeft <= listener.getThreshold())
-			{
-				SafeRunner.run(new ISafeRunnable() {
-					public void run() throws Exception {
-						listener.handleAtBufferEnd();
-					}
-					public void handleException(Throwable exception) {
-						DebugUIPlugin.log(exception);
-					}
-				});
-			}
-		}
-	 }
-	 
-	protected void  handleScrollBarSelection()
-	{
-//		 ignore event if there is pending set top index in the queue
-		if (!fTopIndexQueue.isEmpty())
-			return;
-		topIndexChanged();
-	}
-	
-	public void topIndexChanged()
-	{
-		if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-		{
-			MemorySegment a = (MemorySegment)getTable().getItem(getTable().getTopIndex()).getData();
-			System.out.println(Thread.currentThread().getName() + " " + this + " handle scroll bar moved:  top index: " + a.getAddress().toString(16)); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		setTopIndexKey(getVirtualContentModel().getKey(getTable().getTopIndex()));
-
-		notifyListenersAtBufferStart();
-		notifyListenersAtBufferEnd();
-	}
-	
-	protected void setTopIndexKey(Object key)
-	{
-		fTopIndexKey = key;
-	}
-	
-	protected Object getTopIndexKey()
-	{
-		return fTopIndexKey;
-	}
-
-	protected synchronized void preservingSelection(Runnable updateCode) {
-		Object oldTopIndexKey = null;
-		if (fPendingTopIndexKey == null) {
-			// preserve selection
-			oldTopIndexKey = getTopIndexKey();
-		}
-		else
-		{
-			oldTopIndexKey = fPendingTopIndexKey;
-		}
-		
-		try {
-
-			// perform the update
-			updateCode.run();
-		} finally {			
-			if (oldTopIndexKey != null)
-			{
-				setTopIndex(oldTopIndexKey);
-			}
-		}
-
-	}
-	
-	public void addPresentationErrorListener(IPresentationErrorListener errorListener)
-	{
-		fPresentationErrorListeners.add(errorListener);
-	}
-	
-	public void removePresentationErrorListener(IPresentationErrorListener errorListener)
-	{
-		fPresentationErrorListeners.remove(errorListener);
-	}
-	
-	private void notifyPresentationError(final IAsynchronousRequestMonitor monitor, final IStatus status)
-	{
-		Object[] listeners = fPresentationErrorListeners.getListeners();
-	 
-		for (int i = 0; i < listeners.length; i++) {
-			
-			if (listeners[i] instanceof IPresentationErrorListener)
-			{
-				final IPresentationErrorListener listener = (IPresentationErrorListener)listeners[i];
-				SafeRunner.run(new ISafeRunnable() {
-					public void run() throws Exception {
-						listener.handlePresentationFailure(monitor, status);
-					}
-					public void handleException(Throwable exception) {
-						DebugUIPlugin.log(exception);
-					}
-				});
-			}
-		}
-	}
-
-	protected AsynchronousModel createModel() {
-		return createVirtualContentTableModel();
-	}
-	
-	abstract protected AbstractVirtualContentTableModel createVirtualContentTableModel();
-	
-	private void addKeyToQueue(Object topIndexKey)
-	{
-		synchronized(fTopIndexQueue){
-			if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-				System.out.println(" >>> add to top index queue: " + ((BigInteger)topIndexKey).toString(16)); //$NON-NLS-1$
-			fTopIndexQueue.add(topIndexKey);
-		}
-	}
-	
-	private void removeKeyFromQueue(Object topIndexKey)
-	{
-		synchronized(fTopIndexQueue){
-			if (AsyncVirtualContentTableViewer.DEBUG_DYNAMIC_LOADING)
-				System.out.println(" >>> remove frome top index queue: " + ((BigInteger)topIndexKey).toString(16)); //$NON-NLS-1$
-			fTopIndexQueue.remove(topIndexKey);
-		}
-	}
-	
-	public AbstractVirtualContentTableModel getVirtualContentModel()
-	{
-		if (getModel() instanceof AbstractVirtualContentTableModel)
-			return (AbstractVirtualContentTableModel) getModel();
-		return null;
-	}
-	
-	private int getNumberOfVisibleLines()
-	{	
-		Table table = getTable();
-		int height = table.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 = table.getParent().getSize().y;
-		}
-		
-		// height of border
-		int border = table.getHeaderHeight();
-		
-		// height of scroll bar
-		int scroll = table.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 = getMinTableItemHeight(table);
-		
-		int numberOfLines = height/lineHeight;
-		
-		if (numberOfLines <= 0)
-			return 20;
-	
-		return numberOfLines;		
-	}
-	
-	private int getMinTableItemHeight(Table table){
-		
-		// Hack to get around Linux GTK problem.
-		// On Linux GTK, table items have variable item height as
-		// carriage returns are actually shown in a cell.  Some rows will be
-		// taller than others.  When calculating number of visible lines, we
-		// need to find the smallest table item height.  Otherwise, the rendering
-		// underestimates the number of visible lines.  As a result the rendering
-		// will not be able to get more memory as needed.
-		if (MemoryViewUtil.isLinuxGTK())
-		{
-			// check each of the items and find the minimum
-			TableItem[] items = table.getItems();
-			int minHeight = table.getItemHeight();
-			for (int i=0; i<items.length; i++)
-			{
-				if (items[i].getData() != null)
-					minHeight = Math.min(items[i].getBounds(0).height, minHeight);
-			}
-			
-			return minHeight;
-				
-		}
-		return table.getItemHeight();
-	}
-
-	protected void updateComplete(IAsynchronousRequestMonitor monitor) {
-		super.updateComplete(monitor);
-		attemptSetTopIndex();
-		if (monitor instanceof ILabelRequestMonitor)
-		{
-			fPendingResizeColumns = attemptResizeColumnsToPreferredSize();
-		}
-	}
-	
-	protected boolean hasPendingSetTopIndex()
-	{
-		return !fTopIndexQueue.isEmpty();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java
deleted file mode 100644
index e1b72a8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-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;
-	}
-
-	protected void asyncExec(Runnable r) {
-		if (fViewer != null) {
-			Control ctrl= fViewer.getControl();
-			if (ctrl != null && !ctrl.isDisposed()) {
-				ctrl.getDisplay().asyncExec(r);
-			}
-		}
-	}
-	
-	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);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java
deleted file mode 100644
index 94d7d15..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.core.model.MemoryByte;
-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;
-
-/**
- * Show integers in Big Endian
- */
-public class BigEndianAction implements IObjectActionDelegate {
-
-	AbstractIntegerRendering fRendering;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-
-		if (fRendering == null)
-			return;
-		
-		if (fRendering.getDisplayEndianess() != RenderingsUtil.BIG_ENDIAN){
-			fRendering.setDisplayEndianess(RenderingsUtil.BIG_ENDIAN);
-			fRendering.refresh();
-		}
-	}
-
-	/* (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) {
-		
-		if (selection == null)
-			return;
-		
-		if (selection instanceof IStructuredSelection)
-		{
-			Object obj = ((IStructuredSelection)selection).getFirstElement();
-			if (obj == null)
-				return;
-			
-			if (obj instanceof AbstractIntegerRendering)
-			{
-				fRendering = (AbstractIntegerRendering)obj;
-			}
-			
-			int endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-			if (fRendering.getDisplayEndianess() == RenderingsUtil.ENDIANESS_UNKNOWN)
-			{
-				MemoryByte[] selectedBytes = fRendering.getSelectedAsBytes();
-				for (int i=0; i<selectedBytes.length; i++)
-				{
-					if (!selectedBytes[i].isEndianessKnown())
-					{
-						endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-						break;
-					}
-					if (i==0)
-					{
-						endianess = selectedBytes[i].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;
-					}
-					else
-					{
-						int byteEndianess = selectedBytes[i].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;
-						if (endianess != byteEndianess)
-						{
-							endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-							break;
-						}
-					}
-				}
-			}
-			else
-				endianess = fRendering.getDisplayEndianess();
-			
-			if (endianess == RenderingsUtil.BIG_ENDIAN)
-				action.setChecked(true);
-			else
-				action.setChecked(false);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java
deleted file mode 100644
index 21a9bb9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-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.action.Action;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-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 CopyTableRenderingToClipboardAction extends Action
-{
-	private final String COLUMN_SEPERATOR = "  "; //$NON-NLS-1$
-	
-	protected AbstractBaseTableRendering fRendering;
-	protected StructuredViewer fViewer;
-	
-	public CopyTableRenderingToClipboardAction(AbstractBaseTableRendering rendering, StructuredViewer viewer)
-	{
-		super();
-		fRendering = rendering;
-		fViewer = viewer;
-		setText(DebugUIMessages.CopyViewToClipboardAction_title);
-		setToolTipText(DebugUIMessages.CopyViewToClipboardAction_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));
-	}
-
-	protected String concatenateTableAsString(TableItem[] itemList) {
-		if (itemList.length == 0) return null;
-
-		StringBuffer tableContents = new StringBuffer();
-		
-		Table table = (Table)fViewer.getControl();
-		int numColumns = table.getColumnCount();
-		ITableLabelProvider labelProvider = (ITableLabelProvider)fViewer.getLabelProvider();		
-		TableColumn columns[] = table.getColumns();
-		
-		// get title of view tab
-		String label = fRendering.getLabel();
-		tableContents.append(label);
-		tableContents.append(System.getProperty("line.separator")); //$NON-NLS-1$
-		tableContents.append(COLUMN_SEPERATOR);
-		
-		int charsPerByte = fRendering.getNumCharsPerByte();
-		if (charsPerByte < 0)
-			charsPerByte = 4;
-		
-		//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)
-			{	
-				numBytes = fRendering.getBytesPerColumn();
-				numChars = numBytes * charsPerByte;
-			}
-			else
-			{
-				// special for address column
-				IMemoryBlock memBlock = fRendering.getMemoryBlock();
-				if (memBlock instanceof IMemoryBlockExtension)
-				{
-					TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)fRendering.getAdapter(TableRenderingContentDescriptor.class);
-					if (descriptor == null)
-						{
-						try {
-							numBytes = ((IMemoryBlockExtension)memBlock).getAddressSize();
-						} catch (DebugException e) {
-							numBytes = 0;
-						}
-					}
-					else
-						numBytes = descriptor.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)
-				{	
-					int numBytes = fRendering.getBytesPerColumn();
-					int numChars = numBytes * charsPerByte;
-					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 (fRendering == null)
-			return;
-		
-		if (! (fViewer.getControl() instanceof Table))
-			return;
-		
-		Table table = (Table)fViewer.getControl();
-		
-		if (table == null)
-			return;
-		Clipboard clip= null;
-		try {
-			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});
-			}
-		} finally {
-			if (clip != null) {
-				clip.dispose();
-			}
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java
deleted file mode 100644
index b21f8ad..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-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.DebugException;
-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.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.memory.AbstractMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener;
-import org.eclipse.debug.ui.memory.IMemoryRenderingContainer;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-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.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * The rendering to allow users to create a rendering.
- * @since 3.1
- */
-public class CreateRendering extends AbstractMemoryRendering implements IMemoryRenderingBindingsListener {
-
-	private ListViewer fViewer;
-	private Label fMemoryBlockLabel;
-	private IMemoryRenderingContainer fContainer; 
-	private Composite fCanvas;
-	private String fLabel;
-	
-	public CreateRendering(IMemoryRenderingContainer container)
-	{
-		super("org.eclipse.debug.internal.ui.views.createrendering"); //$NON-NLS-1$
-		fContainer = container;
-	}
-
-	class MemoryRenderingLabelProvider implements ILabelProvider
-	{
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-		 */
-		public Image getImage(Object element) {
-			return null;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-		 */
-		public String getText(Object element) {
-			if (element instanceof IMemoryRenderingType)
-			{	
-				String label = ((IMemoryRenderingType)element).getLabel();
-				return label;
-			}
-            return element.toString();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-		 */
-		public void addListener(ILabelProviderListener listener) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-		 */
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-		 */
-		public void removeListener(ILabelProviderListener listener) {
-		}
-
-	}
-	
-	class MemoryRenderingContentProvider implements IStructuredContentProvider
-	{
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			IMemoryRenderingType[] renderings = DebugUITools.getMemoryRenderingManager().getRenderingTypes((IMemoryBlock)inputElement);
-			return renderings;
-		}
-
-		/* (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) {
-		}
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createControl(Composite parent) {
-		fCanvas = new Composite(parent, SWT.NONE);
-		GridLayout compositeLayout = new GridLayout();
-		compositeLayout.numColumns = 2;
-		compositeLayout.makeColumnsEqualWidth = false;
-		fCanvas.setLayout(compositeLayout);
-		
-		GridData comositeSpec= new GridData();
-		comositeSpec.grabExcessVerticalSpace= true;
-		comositeSpec.grabExcessHorizontalSpace= true;
-		comositeSpec.horizontalAlignment= GridData.FILL;
-		comositeSpec.verticalAlignment= GridData.CENTER;
-		fCanvas.setLayoutData(comositeSpec);
-		
-		fMemoryBlockLabel = new Label(fCanvas, SWT.BORDER);
-		
-		String memoryBlockLabel = " "; //$NON-NLS-1$
-		memoryBlockLabel = getLabel();
-		
-		fMemoryBlockLabel.setText("  " + DebugUIMessages.CreateRenderingTab_Memory_monitor + memoryBlockLabel + "  "); //$NON-NLS-1$ //$NON-NLS-2$ 
-		GridData textLayout = new GridData();
-		textLayout.verticalAlignment=GridData.CENTER;
-		textLayout.horizontalAlignment=GridData.BEGINNING;
-		fMemoryBlockLabel.setLayoutData(textLayout);
-
-		Label renderingLabel = new Label(fCanvas, SWT.NONE);
-		renderingLabel.setText(DebugUIMessages.CreateRenderingTab_Select_renderings_to_create); 
-		GridData renderingLayout = new GridData();
-		renderingLayout.horizontalAlignment = GridData.BEGINNING;
-		renderingLayout.verticalAlignment = GridData.CENTER;
-		renderingLayout.horizontalSpan = 2;
-		renderingLabel.setLayoutData(renderingLayout);
-		
-		fViewer = new ListViewer(fCanvas);
-		fViewer.setContentProvider(new MemoryRenderingContentProvider());
-		fViewer.setLabelProvider(new MemoryRenderingLabelProvider());
-		fViewer.setInput(getMemoryBlock());
-		
-		if (fViewer.getElementAt(0) != null)
-		{
-			fViewer.getList().select(0);
-		}
-		
-		GridData listLayout = new GridData(GridData.FILL_BOTH);
-		listLayout.horizontalSpan = 1;
-		fViewer.getControl().setLayoutData(listLayout);
-		
-		fViewer.addDoubleClickListener(new IDoubleClickListener (){
-
-			public void doubleClick(DoubleClickEvent event) {
-				addRenderings();
-			}});
-		
-		Button addButton = new Button(fCanvas, SWT.NONE);
-		addButton.setText(DebugUIMessages.CreateRenderingTab_Add_renderings); 
-		GridData buttonLayout = new GridData();
-		buttonLayout.horizontalAlignment = GridData.BEGINNING;
-		buttonLayout.verticalAlignment = GridData.BEGINNING;
-		addButton.setLayoutData(buttonLayout);
-		
-		addButton.addSelectionListener(new SelectionListener() {
-
-			public void widgetSelected(SelectionEvent e) {
-				addRenderings();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				addRenderings();
-			}});
-		
-		DebugUITools.getMemoryRenderingManager().addListener(this);
-		
-		return fCanvas;		
-	}
-	
-	private void addRenderings()
-	{									
-		ISelection selection = fViewer.getSelection();
-		Object[] renderings = null;
-		
-		if (selection instanceof IStructuredSelection)
-		{
-			IStructuredSelection strucSelection = (IStructuredSelection)selection;
-			
-			renderings = strucSelection.toArray();
-		}
-		
-		if (renderings == null)
-		{
-			Status stat = new Status(
-					IStatus.ERROR,DebugUIPlugin.getUniqueIdentifier(),
-					DebugException.INTERNAL_ERROR, DebugUIMessages.CreateRenderingTab_0, null); 
-			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIMessages.CreateRenderingTab_1, DebugUIMessages.CreateRenderingTab_2, stat); // 
-			return;
-		}
-										
-		// ask for debug target and memory block retrieval
-		IDebugTarget debugTarget = ((IDebugElement)getMemoryBlock()).getDebugTarget();
-		IMemoryBlockRetrieval standardMemRetrieval = (IMemoryBlockRetrieval)((IDebugElement)getMemoryBlock()).getAdapter(IMemoryBlockRetrieval.class);
-		
-		if (standardMemRetrieval == null)
-		{	
-			standardMemRetrieval = debugTarget;
-		}
-		
-		if (standardMemRetrieval == null)
-			return;
-		
-		
-		// make a copy of the container, may be diposed when a rendering is added
-		IMemoryRenderingContainer container = fContainer;
-		// add memory renderings to Memory Rendering Manager
-		for (int i=0; i<renderings.length; i++)
-		{	
-			if (renderings[i] instanceof IMemoryRenderingType)
-			{
-				try {
-					IMemoryRendering rendering = ((IMemoryRenderingType)renderings[i]).createRendering();
-					if (rendering != null)
-					{
-						rendering.init(container, getMemoryBlock());
-						container.addMemoryRendering(rendering);
-					}
-				} catch (CoreException e) {
-					
-					MemoryViewUtil.openError(DebugUIMessages.CreateRendering_0, DebugUIMessages.CreateRendering_1, e);  // 
-				}
-			}					
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#dispose()
-	 */
-	public void dispose() {
-		fViewer = null;
-		fCanvas = null;
-		fContainer = null;
-		fMemoryBlockLabel = null;
-		DebugUITools.getMemoryRenderingManager().removeListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.memory.AbstractMemoryRendering#getControl()
-	 */
-	public Control getControl() {
-		return fCanvas;
-	}
-	public void memoryRenderingBindingsChanged() {
-		if (fViewer != null)
-			fViewer.refresh();
-	}
-
-	public String getLabel() {
-		if (fLabel == null)
-		{
-			fLabel = DebugUIMessages.CreateRendering_2;
-			updateRenderingLabel();
-		}
-		
-		return fLabel;
-	}
-	
-	protected void updateRenderingLabel()
-	{
-		Job job = new Job("Update Rendering Label"){ //$NON-NLS-1$
-
-			protected IStatus run(IProgressMonitor monitor) {
-				fLabel = CreateRendering.super.getLabel();
-				firePropertyChangedEvent(new PropertyChangeEvent(CreateRendering.this, IBasicPropertyConstants.P_TEXT, null, fLabel));
-				
-				WorkbenchJob wbJob = new WorkbenchJob("Create Rendering Update Label"){ //$NON-NLS-1$
-
-					public IStatus runInUIThread(IProgressMonitor wbMonitor) {
-						if (fMemoryBlockLabel != null)
-						{
-							fMemoryBlockLabel.setText("  " + DebugUIMessages.CreateRenderingTab_Memory_monitor + fLabel + "  ");  //$NON-NLS-1$//$NON-NLS-2$
-							fMemoryBlockLabel.getParent().layout();
-						}
-						return Status.OK_STATUS;
-					}};
-				wbJob.setSystem(true);
-				wbJob.schedule();
-				return Status.OK_STATUS;
-			}};
-		job.setSystem(true);
-		job.schedule();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java
deleted file mode 100644
index 1c37061..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-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;
-
-/**
- * Restore default endianess.
- * For IMemoryBlockExtension, default is governed by the attributes set
- * in its memory bytes.
- * For IMemoryBlock, default is big endian.
- *
- */
-public class DefaultEndianessAction implements IObjectActionDelegate {
-
-	AbstractIntegerRendering fRendering;
-	public DefaultEndianessAction() {
-		super();
-	}
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	public void run(IAction action) {
-		if (fRendering != null)
-		{
-			if (fRendering.getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				fRendering.setDisplayEndianess(RenderingsUtil.ENDIANESS_UNKNOWN);
-			}
-			else
-			{
-				fRendering.setDisplayEndianess(RenderingsUtil.BIG_ENDIAN);
-			}
-			fRendering.refresh();
-		}
-
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (selection == null)
-			return;
-		
-		if (selection instanceof IStructuredSelection)
-		{
-			Object obj = ((IStructuredSelection)selection).getFirstElement();
-			if (obj == null)
-				return;
-			
-			if (obj instanceof AbstractIntegerRendering)
-			{
-				fRendering = (AbstractIntegerRendering)obj;
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java
deleted file mode 100644
index 36743b9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.memory.AbstractMemoryRendering;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A dummy rendering for displaying an error message in a view tab.
- * @since 3.1
- */
-/**
- * @author chanskw
- *
- */
-public class ErrorRendering extends AbstractMemoryRendering {
-
-	private TextViewer fTextViewer;
-	private String fRenderingId;
-	private Throwable fException;
-	
-	/**
-	 * @param renderingId - id of rendering that the memory view has failed
-	 * to create.
-	 */
-	public ErrorRendering(String renderingId, Throwable exception)
-	{
-		super("org.eclipse.debug.internal.ui.views.memory.errorrendering"); //$NON-NLS-1$
-		fRenderingId = renderingId;
-		fException = exception;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createControl(Composite parent) {
-		fTextViewer = new TextViewer(parent, SWT.READ_ONLY);		
-		fTextViewer.setDocument(new Document());
-		StyledText styleText = fTextViewer.getTextWidget();
-		
-		styleText.setText("\r\n\r\n" + DebugUIMessages.EmptyViewTab_Unable_to_create + "\n" + getRenderingName() + "\n\n" + DebugUIMessages.ErrorRendering_0 + fException.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$  
-		
-		
-		return fTextViewer.getControl();
-	}
-	
-
-	/**
-	 * 
-	 */
-	private String getRenderingName() {
-		
-		if (DebugUITools.getMemoryRenderingManager().getRenderingType(fRenderingId)!= null)
-		{
-			String name =
-				DebugUITools.getMemoryRenderingManager()
-				.getRenderingType(fRenderingId)
-				.getLabel();
-			
-			return name;
-		}
-		return "Unknown"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.memory.AbstractMemoryRendering#getControl()
-	 */
-	public Control getControl() {
-		return fTextViewer.getControl();
-	}
-
-	public void refresh() {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java
deleted file mode 100644
index c3ae82d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-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.ui.PlatformUI;
-
-public class FormatTableRenderingAction extends Action {
-
-	private AbstractBaseTableRendering fRendering;
-	
-	int fColumnSize = -1;
-	int fRowSize = -1;
-	
-	public FormatTableRenderingAction(AbstractBaseTableRendering rendering)
-	{
-		fRendering = rendering;
-		setText(DebugUIMessages.FormatTableRenderingAction_16);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".FormatTableRenderingAction_context"); //$NON-NLS-1$
-	}
-
-	public void run() {
-		FormatTableRenderingDialog dialog = new FormatTableRenderingDialog(fRendering, DebugUIPlugin.getShell());
-		dialog.open();
-		fColumnSize = dialog.getColumnSize();
-		fRowSize = dialog.getRowSize();
-		if (fColumnSize > 0 && fRowSize > 0)
-		{
-			int addressableSize = fRendering.getAddressableSize();
-			int columnSizeInBytes = addressableSize * fColumnSize;
-			int rowSizeInBytes = addressableSize * fRowSize;
-			fRendering.format(rowSizeInBytes, columnSizeInBytes);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java
deleted file mode 100644
index 5384f88..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.memory.IPersistableDebugElement;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TrayDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.Control;
-import org.eclipse.swt.widgets.Group;
-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.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.PageBook;
-
-public class FormatTableRenderingDialog extends TrayDialog
-	{
-
-		private int[] fColumnSizes = new int[] {1, 2, 4, 8, 16};
-		private int[] fRowSizes = new int[] {1, 2, 4, 8, 16};
-		private Combo fColumnControl;
-		private Combo fRowControl;
-		
-		private int fCurrentColIdx = -1;
-		private int fCurrentRowIdx = -1;
-		private Control fPreivewPage;
-		private PageBook fPreviewPageBook;
-		private Button fDefaultButton;
-		private Text fDefaultColValue;
-		private Text fDefaultRowValue;
-		private AbstractBaseTableRendering fRendering;
-		private int fColumnSize;
-		private int fRowSize;
-		private Label fMsgLabel;
-		private boolean fDisableCancel = false;
-		private String fMsg;
-		
-
-		public FormatTableRenderingDialog(AbstractBaseTableRendering rendering, Shell parentShell) {
-			super(parentShell);
-			setShellStyle(getShellStyle() | SWT.RESIZE);
-			fRendering = rendering;
-			fMsg = DebugUIMessages.FormatTableRenderingAction_1;
-		}
-		
-		protected Control createDialogArea(Composite parent) {
-			getShell().setText(DebugUIMessages.FormatTableRenderingAction_0);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".FormatTableRenderingDialog_context"); //$NON-NLS-1$
-			
-			Composite composite = new Composite(parent, SWT.NONE);
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 3;
-			layout.makeColumnsEqualWidth = false;
-			composite.setLayout(layout);
-			GridData data = new GridData();
-			data.grabExcessHorizontalSpace = true;
-			data.grabExcessVerticalSpace = true;
-			data.horizontalAlignment = SWT.FILL;
-			data.verticalAlignment = SWT.FILL;
-			composite.setLayoutData(data);
-			
-			fMsgLabel = new Label(composite, SWT.NONE);
-			fMsgLabel.setText(fMsg);
-			
-			data = new GridData();
-			data.grabExcessHorizontalSpace = true;
-			data.horizontalAlignment = SWT.BEGINNING;
-			data.horizontalSpan = 3;
-			fMsgLabel.setLayoutData(data);
-			
-			Label rowLabel = new Label(composite, SWT.NONE);
-			rowLabel.setText(DebugUIMessages.FormatTableRenderingAction_2);
-			fRowControl = new Combo(composite, SWT.READ_ONLY);
-			for (int i=0; i<fRowSizes.length; i++)
-			{
-				fRowControl.add(String.valueOf(fRowSizes[i]));
-			}
-			
-			fRowControl.addSelectionListener(new SelectionListener() {
-
-				public void widgetSelected(SelectionEvent e) {
-					if (fCurrentRowIdx != fRowControl.getSelectionIndex())
-					{
-						fCurrentRowIdx = fRowControl.getSelectionIndex();
-						refreshPreviewPage();
-						updateButtons();
-					}
-				}
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-				}});
-			
-			data = new GridData();
-			data.grabExcessHorizontalSpace = false;
-			data.horizontalAlignment = SWT.BEGINNING;
-			fRowControl.setLayoutData(data);
-			
-			Label unit = new Label(composite, SWT.NONE);
-			unit.setText(DebugUIMessages.FormatTableRenderingAction_3);		
-			
-			Label columnLabel = new Label(composite, SWT.NONE);
-			columnLabel.setText(DebugUIMessages.FormatTableRenderingAction_4);
-			fColumnControl = new Combo(composite, SWT.READ_ONLY);
-			for (int i=0; i<fColumnSizes.length; i++)
-			{
-				fColumnControl.add(String.valueOf(fColumnSizes[i]));
-			}
-			
-			fColumnControl.addSelectionListener(new SelectionListener() {
-
-				public void widgetSelected(SelectionEvent e) {
-					if (fCurrentColIdx != fColumnControl.getSelectionIndex())
-					{
-						fCurrentColIdx = fColumnControl.getSelectionIndex();
-						refreshPreviewPage();
-						updateButtons();
-					}
-				}
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-				}});
-			
-			data = new GridData();
-			data.grabExcessHorizontalSpace = false;
-			data.horizontalAlignment = SWT.BEGINNING;
-			fColumnControl.setLayoutData(data);
-			
-			unit = new Label(composite, SWT.NONE);
-			unit.setText(DebugUIMessages.FormatTableRenderingAction_5);
-			
-			populateDialog();
-			
-			fDefaultButton = new Button(composite, SWT.NONE);
-			fDefaultButton.setText(DebugUIMessages.FormatTableRenderingAction_8);
-			data = new GridData();
-			data.grabExcessHorizontalSpace = true;
-			data.grabExcessVerticalSpace = true;
-			data.horizontalAlignment = SWT.END;
-			data.horizontalSpan = 3;
-			fDefaultButton.setLayoutData(data);
-			
-			fDefaultButton.addSelectionListener(new SelectionListener() {
-
-				public void widgetSelected(SelectionEvent e) {
-					saveDefaults();
-				}
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-					
-				}});
-			
-			Group group = new Group(composite, SWT.NONE);
-			group.setText(DebugUIMessages.FormatTableRenderingAction_7);
-			group.setLayout(new GridLayout());
-			data = new GridData();
-			data.grabExcessHorizontalSpace = true;
-			data.grabExcessVerticalSpace = true;
-			data.horizontalAlignment = SWT.FILL;
-			data.verticalAlignment = SWT.FILL;
-			data.horizontalSpan = 3;
-			group.setLayoutData(data);
-			
-			fPreviewPageBook = new PageBook(group, SWT.NONE);
-			data = new GridData();
-			data.grabExcessHorizontalSpace = true;
-			data.grabExcessVerticalSpace = true;
-			data.horizontalAlignment = SWT.FILL;
-			data.verticalAlignment = SWT.FILL;
-			fPreviewPageBook.setLayoutData(data);
-			
-			int rowSize = fRowSizes[fRowControl.getSelectionIndex()];
-			int colSize = fColumnSizes[fColumnControl.getSelectionIndex()];
-
-			fPreivewPage = createPreviewPage(fPreviewPageBook, rowSize, colSize);
-			fPreviewPageBook.showPage(fPreivewPage);
-			
-			Label defaultRow = new Label(composite, SWT.NONE);
-			defaultRow.setText(DebugUIMessages.FormatTableRenderingDialog_0);
-			fDefaultRowValue = new Text(composite, SWT.READ_ONLY);
-			
-			int defRow = getDefaultRowSize();
-						
-			fDefaultRowValue.setText(String.valueOf(defRow));
-			Label def = new Label(composite, SWT.NONE);
-			def.setText(DebugUIMessages.FormatTableRenderingDialog_1);
-			
-			data = new GridData();
-			data.grabExcessHorizontalSpace = true;
-			data.grabExcessVerticalSpace = true;
-			data.horizontalAlignment = SWT.BEGINNING;
-			def.setLayoutData(data);
-			
-			
-			Label defaultCol = new Label(composite, SWT.NONE);
-			defaultCol.setText(DebugUIMessages.FormatTableRenderingDialog_2);
-			fDefaultColValue = new Text(composite, SWT.READ_ONLY);
-			
-			int defCol = getDefaultColumnSize();
-			
-			fDefaultColValue.setText(String.valueOf(defCol));
-			def = new Label(composite, SWT.NONE);
-			def.setText(DebugUIMessages.FormatTableRenderingDialog_3);
-			
-			data = new GridData();
-			data.grabExcessHorizontalSpace = true;
-			data.grabExcessVerticalSpace = true;
-			data.horizontalAlignment = SWT.BEGINNING;
-			def.setLayoutData(data);
-			
-			Button restoreButton = new Button(composite, SWT.NONE);
-			restoreButton.setText(DebugUIMessages.FormatTableRenderingAction_6);
-			restoreButton.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent e) {
-					restoreDefaults();
-				}
-				public void widgetDefaultSelected(SelectionEvent e) {
-				}});
-			data = new GridData();
-			data.grabExcessHorizontalSpace = true;
-			data.horizontalAlignment = SWT.END;
-			data.horizontalSpan = 3;
-			data.verticalAlignment = SWT.CENTER;
-			restoreButton.setLayoutData(data);
-			
-			return composite;
-		}
-
-		protected void okPressed() {
-			int idx = fColumnControl.getSelectionIndex();
-			fColumnSize = fColumnSizes[idx];
-			fRowSize = fRowSizes[fRowControl.getSelectionIndex()];
-			super.okPressed();
-		}
-		
-		private void populateDialog()
-		{
-			int currentColSize = fRendering.getAddressableUnitPerColumn();
-			int currentRowSize = fRendering.getAddressableUnitPerLine();
-			setCurrentRowColSizes(currentRowSize, currentColSize);
-		}
-
-		private int populateControl(int currentSize, int[] searchArray, Combo control) {
-			int idx = 0;
-			for (int i=0 ;i<searchArray.length; i++)
-			{
-				if (searchArray[i] == currentSize)
-				{
-					idx = i;
-					break;
-				}
-			}
-			control.select(idx);
-			return idx;
-		}
-		
-		private Control createPreviewPage(Composite parent, int rowSize, int colSize)
-		{			
-			if (!isValid(rowSize, colSize))
-			{	
-				Label label = new Label(parent, SWT.NONE);
-				StringBuffer errorMsg = new StringBuffer();
-				errorMsg.append(DebugUIMessages.FormatTableRenderingAction_9);
-				errorMsg.append("\n"); //$NON-NLS-1$
-				errorMsg.append(DebugUIMessages.FormatTableRenderingAction_11);
-				
-				if (colSize > rowSize)
-				{
-					errorMsg.append("\n"); //$NON-NLS-1$
-					errorMsg.append(DebugUIMessages.FormatTableRenderingAction_13);
-				}
-				
-				label.setText(errorMsg.toString());
-				
-				return label;
-			}
-			
-			Table table = new Table(parent, SWT.BORDER);
-			table.setHeaderVisible(true);
-			
-			int numCol = rowSize/colSize;
-			
-			TableColumn addressCol = new TableColumn(table, SWT.NONE);
-			
-			TableColumn[] columns = new TableColumn[numCol];
-			for (int i=0; i<columns.length; i++)
-			{
-				columns[i] = new TableColumn(table, SWT.NONE);
-			}
-			
-			StringBuffer buf = new StringBuffer();
-			for (int j=0; j<colSize; j++)
-			{
-				buf.append("X"); //$NON-NLS-1$
-			}
-			
-			for (int i = 0; i < 4; i++) {
-				TableItem tableItem = new TableItem(table, SWT.NONE);
-				
-				String[] text = new String[numCol + 1];
-				text[0] = DebugUIMessages.FormatTableRenderingAction_15;
-				for (int j=1; j<text.length; j++)
-				{
-					text[j] = buf.toString(); 
-				}
-				
-				tableItem.setText(text);
-			}
-			
-			addressCol.pack();
-			for (int i=0; i<columns.length; i++)
-			{
-				columns[i].pack();
-			}
-			
-			
-			return table;
-		}
-		
-		private boolean isValid(int rowSize, int colSize)
-		{
-			if (rowSize % colSize != 0)
-				return false;
-			
-			if (colSize > rowSize)
-				return false;
-			
-			return true;
-		}
-
-		private void refreshPreviewPage() {
-			fPreivewPage.dispose();
-			
-			int rowSize = fRowSizes[fRowControl.getSelectionIndex()];
-			int colSize = fColumnSizes[fColumnControl.getSelectionIndex()];
-			fPreivewPage = createPreviewPage(fPreviewPageBook, rowSize, colSize);
-			fPreviewPageBook.showPage(fPreivewPage);
-		}
-
-		private void updateButtons() {
-			int rowSize = fRowSizes[fRowControl.getSelectionIndex()];
-			int colSize = fColumnSizes[fColumnControl.getSelectionIndex()];
-			Button button = getButton(IDialogConstants.OK_ID);
-			if (!isValid(rowSize, colSize))
-			{
-				button.setEnabled(false);
-				fDefaultButton.setEnabled(false);
-				
-				
-			}
-			else
-			{
-				button.setEnabled(true);
-				fDefaultButton.setEnabled(true);
-			}
-		}
-
-		private String getRowPrefId(String modelId) {
-			String rowPrefId = IDebugPreferenceConstants.PREF_ROW_SIZE + ":" + modelId; //$NON-NLS-1$
-			return rowPrefId;
-		}
-
-		private String getColumnPrefId(String modelId) {
-			String colPrefId = IDebugPreferenceConstants.PREF_COLUMN_SIZE + ":" + modelId; //$NON-NLS-1$
-			return colPrefId;
-		}
-		
-		private int getDefaultRowSize()
-		{
-			int size = -1;
-			IPersistableDebugElement elmt = (IPersistableDebugElement)fRendering.getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-			if (elmt != null)
-			{
-				if (elmt.supportsProperty(fRendering, IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL))
-					return getDefaultFromPersistableElement(IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL);
-			}
-			
-			size = getDefaultRowSize(fRendering.getMemoryBlock().getModelIdentifier());
-			
-			return size;
-		}
-		
-		private int getDefaultColumnSize()
-		{
-			int size = -1;
-			IPersistableDebugElement elmt = (IPersistableDebugElement)fRendering.getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-			if (elmt != null)
-			{
-				if (elmt.supportsProperty(fRendering, IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL))
-					return getDefaultFromPersistableElement(IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL);
-			}
-
-			size = getDefaultColumnSize(fRendering.getMemoryBlock().getModelIdentifier());
-			return size;
-		}
-		
-		private int getDefaultRowSize(String modelId)
-		{
-			int row = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
-			if (row == 0)
-			{
-				DebugUITools.getPreferenceStore().setValue(getRowPrefId(modelId), IDebugPreferenceConstants.PREF_ROW_SIZE_DEFAULT);
-				row = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
-			}
-			
-			return row;
-			
-		}
-		
-		private int getDefaultColumnSize(String modelId)
-		{
-			int col = DebugUITools.getPreferenceStore().getInt(getColumnPrefId(modelId));
-			if (col == 0)
-			{
-				// if not yet defined, initialize with default
-				DebugUITools.getPreferenceStore().setValue(getColumnPrefId(modelId), IDebugPreferenceConstants.PREF_COLUMN_SIZE_DEFAULT);
-				col = DebugUITools.getPreferenceStore().getInt(getColumnPrefId(modelId));
-			}
-			return col;
-		}
-
-		private void saveDefaults() {
-			int columnSize = fColumnSizes[fColumnControl.getSelectionIndex()];
-			int rowSize = fRowSizes[fRowControl.getSelectionIndex()];
-			
-			IPersistableDebugElement elmt = (IPersistableDebugElement)fRendering.getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-			
-			if (elmt != null && elmt.supportsProperty(fRendering, IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL)
-				&& elmt.supportsProperty(fRendering, IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL))
-			{
-				try {
-					elmt.setProperty(fRendering, IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL, new Integer(rowSize));
-					elmt.setProperty(fRendering, IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL, new Integer(columnSize));
-				} catch (CoreException e) {
-					DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIMessages.FormatTableRenderingDialog_4, DebugUIMessages.FormatTableRenderingDialog_5, e);
-				}
-			}
-			else
-			{
-				// save preference
-				// find model id
-				String modelId = fRendering.getMemoryBlock().getModelIdentifier();
-				
-				// constrcut preference id
-				String rowPrefId = getRowPrefId(modelId);
-				String colPrefId = getColumnPrefId(modelId);
-				
-				// save setting
-				IPreferenceStore prefStore = DebugUITools.getPreferenceStore();
-				prefStore.setValue(rowPrefId, rowSize);
-				prefStore.setValue(colPrefId, columnSize);
-			}
-			
-			fDefaultColValue.setText(String.valueOf(getDefaultColumnSize()));
-			fDefaultRowValue.setText(String.valueOf(getDefaultRowSize()));
-			
-			fDefaultRowValue.getParent().layout();
-		}
-
-		private void restoreDefaults() {
-			String modelId = fRendering.getMemoryBlock().getModelIdentifier();
-			int defaultRowSize = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
-			int defaultColSize = DebugUITools.getPreferenceStore().getInt(getColumnPrefId(modelId));
-			
-			if (defaultRowSize == 0 || defaultColSize == 0)
-			{
-				defaultRowSize = DebugUITools.getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_ROW_SIZE);
-				defaultColSize = DebugUITools.getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_COLUMN_SIZE);
-				
-				DebugUITools.getPreferenceStore().setValue(getRowPrefId(modelId), defaultRowSize);
-				DebugUITools.getPreferenceStore().setValue(getColumnPrefId(modelId), defaultColSize);
-			}
-			
-			populateControl(defaultRowSize, fRowSizes, fRowControl);
-			populateControl(defaultColSize, fColumnSizes, fColumnControl);
-			
-			fCurrentRowIdx = fRowControl.getSelectionIndex();
-			fCurrentColIdx = fColumnControl.getSelectionIndex();
-			
-			refreshPreviewPage();
-			updateButtons();
-		}
-
-		public int getColumnSize() {
-			return fColumnSize;
-		}
-
-		public int getRowSize() {
-			return fRowSize;
-		}
-		
-		public void setCurrentRowColSizes(int row, int col)
-		{
-			fCurrentColIdx = populateControl(col, fColumnSizes, fColumnControl);
-			fCurrentRowIdx = populateControl(row, fRowSizes, fRowControl);
-		}
-
-		protected Control createButtonBar(Composite parent) {
-			Control ret =  super.createButtonBar(parent);
-			if (fDisableCancel)
-				getButton(IDialogConstants.CANCEL_ID).setEnabled(false);
-			updateButtons();
-			return ret;
-		}
-		
-		public void openError(String msg)
-		{
-			fDisableCancel = true;
-			fMsg = msg;
-			open();
-		}
-		
-		private int getDefaultFromPersistableElement(String propertyId) {
-			int defaultValue = -1;
-			IPersistableDebugElement elmt = (IPersistableDebugElement)fRendering.getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-			if (elmt != null)
-			{
-				try {
-					Object valueMB = elmt.getProperty(this, propertyId);
-					if (valueMB != null && !(valueMB instanceof Integer))
-					{
-						IStatus status = DebugUIPlugin.newErrorStatus("Model returned invalid type on " + propertyId, null); //$NON-NLS-1$
-						DebugUIPlugin.log(status);
-					}
-					
-					if (valueMB != null)
-					{
-						Integer value = (Integer)valueMB;
-						defaultValue = value.intValue();
-					}
-				} catch (CoreException e) {
-					DebugUIPlugin.log(e);
-				}
-			}
-			return defaultValue;
-		}
-	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java
deleted file mode 100644
index c4ba463..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.core.runtime.CoreException;
-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.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.IMemoryBlockRetrievalExtension;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * Go To Address Action for "MemoryViewTab"
- * 
- * @since 3.0
- */
-public class GoToAddressAction extends Action
-{
-	private AbstractBaseTableRendering fRendering;
-	
-	public GoToAddressAction(AbstractBaseTableRendering rendering)
-	{		
-		super(DebugUIMessages.GoToAddressAction_title);
-		setToolTipText(DebugUIMessages.GoToAddressAction_title);
-		
-		fRendering = rendering;
-		
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".GoToAddressAction_context"); //$NON-NLS-1$
-	}
-	/* (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 = parseExpression(expression);
-			
-			doGoToAddress(expression);
-		}
-		// open error in case of any error
-		catch (DebugException e)
-		{
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
-				DebugUIMessages.GoToAddressAction_Go_to_address_failed, e);
-		}
-		catch (NumberFormatException e1)
-		{
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
-				DebugUIMessages.GoToAddressAction_Address_is_invalid, null);
-		}
-	}
-	/**
-	 * @param expression
-	 * @return
-	 */
-	public String parseExpression(String expression) {
-		expression = expression.toUpperCase();
-		expression = expression.trim();
-		
-		if (expression.startsWith("0X")) //$NON-NLS-1$
-		{
-			expression = expression.substring(2);
-		}
-		return expression;
-	}
-	/**
-	 * @param expression
-	 * @throws DebugException
-	 */
-	public void doGoToAddress(String expression) throws DebugException, NumberFormatException {
-		// convert expression to address
-		BigInteger address = new BigInteger(expression, 16);
-		
-		// look at this address and figure out if a new memory block should
-		// be opened.
-		IMemoryBlock mb = fRendering.getMemoryBlock();
-		if (mb instanceof IMemoryBlockExtension)
-		{
-			IMemoryBlockExtension mbExt = (IMemoryBlockExtension)mb;
-			BigInteger mbStart = mbExt.getMemoryBlockStartAddress();
-			BigInteger mbEnd = mbExt.getMemoryBlockEndAddress();
-			
-			if (mbStart != null)
-			{
-				// if trying to go beyond the start address
-				// of the memory block
-				if (address.compareTo(mbStart) < 0)
-				{
-					IMemoryBlockRetrievalExtension retrieval = (IMemoryBlockRetrievalExtension)mbExt.getAdapter(IMemoryBlockRetrievalExtension.class);
-					IDebugTarget dt = mbExt.getDebugTarget();
-					
-					if (retrieval == null && dt instanceof IMemoryBlockRetrievalExtension)
-						retrieval = (IMemoryBlockRetrievalExtension)dt;
-					
-					// add a new memory block and then the same rendering as fRendering
-					// in the same container.
-					if (retrieval != null)
-					{
-						addNewMemoryBlock(expression, retrieval);
-							return;
-					}
-				}
-			}
-			if (mbEnd != null)
-			{
-				// if trying to go beyond the end address
-				// of the memory block
-				if (address.compareTo(mbEnd) > 0)
-				{
-					IMemoryBlockRetrievalExtension retrieval = (IMemoryBlockRetrievalExtension)mbExt.getAdapter(IMemoryBlockRetrievalExtension.class);
-					IDebugTarget dt = mbExt.getDebugTarget();
-					
-					if (retrieval == null && dt instanceof IMemoryBlockRetrievalExtension)
-						retrieval = (IMemoryBlockRetrievalExtension)dt;
-					
-					// add a new memory block and then the same rendering as fRendering
-					// in the same container.
-					if (retrieval != null)
-					{
-						addNewMemoryBlock(expression, retrieval);
-							return;
-					}
-				}
-			}
-		}
-		
-		// go to specified address
-		fRendering.goToAddress(address);
-	}
-	
-	private void addNewMemoryBlock(String expression, IMemoryBlockRetrievalExtension retrieval)
-	{
-		Object elem = DebugUITools.getDebugContext();
-		
-		if (!(elem instanceof IDebugElement))
-			return;
-		 
-		try {
-			if (retrieval != null)
-			{	
-				IMemoryBlockExtension mbext = retrieval.getExtendedMemoryBlock(expression, elem);
-				if (mbext != null)
-				{
-					IMemoryBlock[] memArray = new IMemoryBlock[]{mbext};
-					DebugPlugin.getDefault().getMemoryBlockManager().addMemoryBlocks(memArray);
-				}
-				
-				IMemoryRenderingType renderingType = DebugUITools.getMemoryRenderingManager().getRenderingType(fRendering.getRenderingId());
-				
-				if (renderingType != null)
-				{
-					IMemoryRendering rendering = renderingType.createRendering();
-					
-					if (rendering != null)
-					{
-						rendering.init(fRendering.getMemoryRenderingContainer(), mbext);
-						fRendering.getMemoryRenderingContainer().addMemoryRendering(rendering);
-					}
-				}
-			}
-		} catch (DebugException e) {
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
-			DebugUIMessages.GoToAddressAction_Go_to_address_failed, e);
-		} catch (CoreException e)
-		{
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
-			DebugUIMessages.GoToAddressAction_Go_to_address_failed, e);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressComposite.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressComposite.java
deleted file mode 100644
index 2fd4ef7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressComposite.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-
-public class GoToAddressComposite {
-	
-	private Text fExpression;
-	private Button fOKButton;
-	private Button fCancelButton;
-	private Composite fComposite;
-	private Combo fGoToCombo;
-	private Button fHexButton;
-
-	/**
-	 * @param parent
-	 * @return
-	 */
-	public Control createControl(Composite parent)
-	{
-		fComposite = new Composite(parent, SWT.NONE);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(fComposite, DebugUIPlugin.getUniqueIdentifier() + ".GoToAddressComposite_context"); //$NON-NLS-1$
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 6;
-		layout.makeColumnsEqualWidth = false;
-		layout.marginHeight = 0;
-		layout.marginLeft = 0;
-		fComposite.setLayout(layout);
-		
-		fGoToCombo = new Combo(fComposite, SWT.READ_ONLY);
-		fGoToCombo.add(DebugUIMessages.GoToAddressComposite_0);
-		fGoToCombo.add(DebugUIMessages.GoToAddressComposite_4);
-		fGoToCombo.add(DebugUIMessages.GoToAddressComposite_5);
-		fGoToCombo.select(0);
-
-		fExpression = new Text(fComposite, SWT.SINGLE | SWT.BORDER);
-		fExpression.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		fHexButton = new Button(fComposite, SWT.CHECK);
-		fHexButton.setText(DebugUIMessages.GoToAddressComposite_6);
-		fHexButton.setSelection(true);
-		
-		fOKButton = new Button(fComposite, SWT.NONE);
-		fOKButton.setText(DebugUIMessages.GoToAddressComposite_1);
-		
-		fCancelButton = new Button(fComposite, SWT.NONE);
-		fCancelButton.setText(DebugUIMessages.GoToAddressComposite_2);
-		
-		return fComposite;
-	}
-	
-	public int getHeight()
-	{
-		int height = fComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		return height;
-	}
-	
-	public Button getButton(int id)
-	{
-		if (id == IDialogConstants.OK_ID)
-			return fOKButton;
-		else if (id == IDialogConstants.CANCEL_ID)
-			return fCancelButton;
-		return null;
-	}
-	
-	public String getExpressionText()
-	{
-		return fExpression.getText();
-	}
-	
-	public Text getExpressionWidget()
-	{
-		return fExpression;
-	}
-	
-	public boolean isGoToAddress()
-	{
-		return fGoToCombo.getSelectionIndex() == 0;
-	}
-	
-	public boolean isOffset()
-	{
-		return fGoToCombo.getSelectionIndex() == 1;
-	}
-	
-	public boolean isJump()
-	{
-		return fGoToCombo.getSelectionIndex() == 2;
-	}
-	
-	public boolean isHex()
-	{
-		return fHexButton.getSelection();
-	}
-	
-	public BigInteger getGoToAddress(BigInteger baseAddress, BigInteger selectedAddress) throws NumberFormatException
-	{
-		boolean add = true;
-		String expression = getExpressionText();
-		boolean hex = isHex();
-		int radix = hex?16:10;
-		
-		expression = expression.trim();
-		
-		if (isGoToAddress())
-		{
-			expression = expression.toUpperCase();
-			if (expression.startsWith("0X")) //$NON-NLS-1$
-			{
-				expression = expression.substring(2);
-				radix = 16;
-			}
-			
-			return new BigInteger(expression, radix);
-		}
-
-		if (expression.startsWith("+")) //$NON-NLS-1$
-		{
-			expression = expression.substring(1);
-		}
-		else if (expression.startsWith("-")) //$NON-NLS-1$
-		{
-			expression = expression.substring(1);
-			add = false;
-		}
-		
-		expression = expression.toUpperCase();
-		if (expression.startsWith("0X")) //$NON-NLS-1$
-		{
-			expression = expression.substring(2);
-			radix = 16;
-		}
-		
-		BigInteger gotoAddress = new BigInteger(expression, radix); 
-
-		BigInteger address = baseAddress;
-		if (isJump())
-			address = selectedAddress;
-
-		if (address == null)
-			throw new NumberFormatException(DebugUIMessages.GoToAddressComposite_7);
-		
-		if (add)
-			gotoAddress = address.add(gotoAddress);
-		else
-			gotoAddress = address.subtract(gotoAddress);
-		
-		return gotoAddress;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java
deleted file mode 100644
index 3455589..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.util.Vector;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TrayDialog;
-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.PlatformUI;
-
-/**
- * @since 3.0
- */
-
-public class GoToAddressDialog extends TrayDialog implements ModifyListener{
-
-	private static Vector history = new Vector();
-	private Combo expressionInput;
-	private String expression;
-
-	/**
-	 * @param parentShell
-	 */
-	public GoToAddressDialog(Shell parentShell) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-	
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".GoToAddressDialog_context"); //$NON-NLS-1$
-		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.GoToAddressDialog_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.GoToAddressDialog_GoToAddress);
-	}
-	
-	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/renderings/HexRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java
deleted file mode 100644
index e23db09..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Ken Dyck - Bug 90154: [Memory View] Short Input Rejected by Hex Rendering
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.memory.provisional.AbstractAsyncTableRendering;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * @since 3.1
- */
-public class HexRendering extends AbstractAsyncTableRendering {
-	
-	public HexRendering(String renderingId)
-	{
-		super(renderingId);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.AbstractTableRendering#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String)
-	 */
-	public String getString(String dataType, BigInteger address,
-			MemoryByte[] data) {
-		StringBuffer strBuffer = new StringBuffer();
-
-		String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-		
-		for (int i=0; i<data.length; i++)
-		{
-			if (data[i].isReadable())
-			{
-				strBuffer.append(new String(convertByteToCharArray(data[i].getValue())));
-			}
-			else
-			{
-				// pad with padded string
-				strBuffer.append(paddedStr);
-			}
-		}
-		
-		return strBuffer.toString().toUpperCase();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.AbstractTableRendering#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String)
-	 */
-	public byte[] getBytes(String dataType, BigInteger address,
-			MemoryByte[] currentValues, String data) {
-		byte[] bytes = convertHexStringToByteArray(data, currentValues.length);
-		
-		return bytes;
-	}
-	
-	public int getNumCharsPerByte()
-	{
-		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 data to byte array
-	 * @param str
-     * @param numBytes
-	 * @return an array of byte, converted from a hex string
-	 * @throws NumberFormatException
-	 */
-	public byte[] convertHexStringToByteArray(String str, int numBytes) throws NumberFormatException
-	{
-        if (str.length() == 0) 
-            return null;
-		
-		StringBuffer buf = new StringBuffer(str);
-        
-        // pad string with zeros
-        int requiredPadding =  numBytes * getNumCharsPerByte() - str.length();
-        while (requiredPadding > 0) {
-            buf.insert(0, "0"); //$NON-NLS-1$
-            requiredPadding--;
-        }
-		
-		byte[] bytes = new byte[numBytes];
-		str = buf.toString();
-	
-		// 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/renderings/HexRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java
deleted file mode 100644
index 22ddebb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate;
-
-/**
- * Delegate for creating a hex rendering.
- * @since 3.1
- */
-public class HexRenderingTypeDelegate implements IMemoryRenderingTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate#createRendering(java.lang.String)
-	 */
-	public IMemoryRendering createRendering(String id) throws CoreException {
-		HexRendering rendering = new HexRendering(id);
-		return rendering;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IContentChangeComputer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IContentChangeComputer.java
deleted file mode 100644
index 87d4b8f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IContentChangeComputer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-public interface IContentChangeComputer {
-	
-	public void clearCache();
-	
-	public void cache(Object[] elements);
-	
-	public Object[] compare(Object[] newElements); 
-	
-	public boolean isEmpty();
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IPresentationErrorListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IPresentationErrorListener.java
deleted file mode 100644
index 466a715..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IPresentationErrorListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-
-public interface IPresentationErrorListener {
-	
-	public void handlePresentationFailure(IAsynchronousRequestMonitor monitor, IStatus status);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IVirtualContentListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IVirtualContentListener.java
deleted file mode 100644
index c5e7f86..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IVirtualContentListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-public interface IVirtualContentListener {
-	
-	/**
-	 * Called when the viewer is at the beginning of its bufferred content
-	 */
-	public void handledAtBufferStart();
-	
-	/**
-	 * Called when viewer is at the end of its bufferred content
-	 */
-	public void handleAtBufferEnd();
-	
-	/**
-	 * @return
-	 */
-	public int getThreshold();
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java
deleted file mode 100644
index 9bf917e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.core.model.MemoryByte;
-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;
-
-
-/**
- * Show integers in little endian.
- * @since 3.0
- */
-public class LittleEndianAction implements IObjectActionDelegate {
-
-	AbstractIntegerRendering fRendering;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-
-		if (fRendering == null)
-			return;
-		
-		if (fRendering.getDisplayEndianess() != RenderingsUtil.LITTLE_ENDIAN){
-			fRendering.setDisplayEndianess(RenderingsUtil.LITTLE_ENDIAN);
-			fRendering.refresh();
-		}
-	}
-
-	/* (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) {
-		if (selection == null)
-			return;
-		
-		if (selection instanceof IStructuredSelection)
-		{
-			Object obj = ((IStructuredSelection)selection).getFirstElement();
-			if (obj == null)
-				return;
-			
-			if (obj instanceof AbstractIntegerRendering)
-			{
-				fRendering = (AbstractIntegerRendering)obj;
-			}
-			
-			int endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-			if (fRendering.getDisplayEndianess() == RenderingsUtil.ENDIANESS_UNKNOWN)
-			{
-				MemoryByte[] selectedBytes = fRendering.getSelectedAsBytes();
-					
-				for (int i=0; i<selectedBytes.length; i++)
-				{
-					if (!selectedBytes[i].isEndianessKnown())
-					{
-						endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-						break;
-					}
-					if (i==0)
-					{
-						endianess = selectedBytes[i].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;
-					}
-					else
-					{
-						int byteEndianess = selectedBytes[i].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;
-						if (endianess != byteEndianess)
-						{
-							endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-							break;
-						}
-					}
-				}
-			}
-			else
-				endianess = fRendering.getDisplayEndianess();
-			
-			if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-				action.setChecked(true);
-			else
-				action.setChecked(false);
-		}		
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java
deleted file mode 100644
index ddb69da..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.model.MemoryByte;
-
-public class MemorySegment extends PlatformObject {
-	
-	private BigInteger fAddress;
-	private BigInteger fEndAddress;
-	private MemoryByte[] fBytes;
-	private int fNumAddressableUnits;
-	
-	public MemorySegment(BigInteger address, MemoryByte[] bytes, int numAddressableUnits)
-	{
-		fAddress = address;
-		fBytes = bytes;
-		fNumAddressableUnits = numAddressableUnits;
-	}
-	
-	public BigInteger getAddress() {
-		return fAddress;
-	}
-	
-	public MemoryByte[] getBytes() {
-		return fBytes;
-	}
-	
-	public int getNumAddressableUnits() {
-		return fNumAddressableUnits;
-	}
-	
-	public boolean containsAddress(BigInteger address)
-	{
-		if (getAddress().compareTo(address) <= 0 && getEndAddress().compareTo(address) >= 0)
-			return true;
-		return false;
-	}
-	
-	public BigInteger getEndAddress()
-	{
-		if (fEndAddress == null)
-		{
-			fEndAddress = fAddress.add(BigInteger.valueOf(fNumAddressableUnits).subtract(BigInteger.ONE));
-		}
-		return fEndAddress;
-	}
-	
-	/**
-	 * @param start - zero-based start offset
-	 * @param length - number of bytes to get
-	 * @return the bytes from start offset to the end.
-	 */
-	public MemoryByte[] getBytes(int start, int length)
-	{
-		if (start < 0)
-			return new MemoryByte[0];
-		
-		if (start + length > fBytes.length)
-			return new MemoryByte[0];
-		
-		ArrayList ret = new ArrayList();
-		
-		for (int i=start; i< start+length; i++)
-		{
-			ret.add(fBytes[i]);
-		}
-		return (MemoryByte[]) ret.toArray(new MemoryByte[ret.size()]);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PendingPropertyChanges.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PendingPropertyChanges.java
deleted file mode 100644
index ce3b064..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PendingPropertyChanges.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-/**
- * Stores changes in properties when the rendering is hidden.
- * These data will be used to sync up the rendering when it becomes visible again.
- *
- */
-public class PendingPropertyChanges
-{
-	BigInteger fTopVisibleAddress;
-	BigInteger fSelectedAddress;
-	BigInteger fPageStartAddress;
-	int fColumnSize = -1;
-	int fRowSize = -1;
-	int fPageSize = -1;
-
-	public int getColumnSize() {
-		return fColumnSize;
-	}
-
-	public void setColumnSize(int columnSize) {
-		fColumnSize = columnSize;
-	}
-
-	public BigInteger getPageStartAddress() {
-		return fPageStartAddress;
-	}
-
-	public void setPageStartAddress(BigInteger pageStartAddress) {
-		fPageStartAddress = pageStartAddress;
-	}
-
-	public int getRowSize() {
-		return fRowSize;
-	}
-
-	public void setRowSize(int rowSize) {
-		fRowSize = rowSize;
-	}
-
-	public BigInteger getSelectedAddress() {
-		return fSelectedAddress;
-	}
-
-	public void setSelectedAddress(BigInteger selectedAddress) {
-		fSelectedAddress = selectedAddress;
-	}
-
-	public BigInteger getTopVisibleAddress() {
-		return fTopVisibleAddress;
-	}
-
-	public void setTopVisibleAddress(BigInteger topVisibleAddress) {
-		fTopVisibleAddress = topVisibleAddress;
-	}
-	
-	public void setPageSize(int pageSize)
-	{
-		fPageSize = pageSize;
-	}
-	
-	public int getPageSize()
-	{
-		return fPageSize;
-	}
-	
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java
deleted file mode 100644
index 070c951..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-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.action.Action;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-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 PrintTableRenderingAction extends Action
-{
-	private AbstractBaseTableRendering fRendering;
-	private StructuredViewer fViewer;
-	
-	private static final String COLUMN_SEPERATOR = "  "; //$NON-NLS-1$
-	
-	public PrintTableRenderingAction(AbstractBaseTableRendering rendering, StructuredViewer viewer)
-	{
-		super(DebugUIMessages.PrintViewTabAction_title);
-		fRendering = rendering;
-		fViewer = viewer;
-		setToolTipText(DebugUIMessages.PrintViewTabAction_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(...).
-	 */
-	protected void printTable(TableItem[] itemList, GC printGC, Printer printer) {
-		
-		
-		int numColumns = ((Table)fViewer.getControl()).getColumnCount();
-		ITableLabelProvider labelProvider = (ITableLabelProvider)fViewer.getLabelProvider();		
-		int lineNum = 1;
-
-		int charsPerByte = fRendering.getNumCharsPerByte();
-		if (charsPerByte < 0)
-			charsPerByte = 4;
-		
-		// 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++) {
-			StringBuffer tableContents = new StringBuffer();
-			//print all columns for this row
-			for (int j=0; j < numColumns; j++) {
-				String columnText = labelProvider.getColumnText(itemList[i].getData(), j);
-				
-				while (columnText.length() < fRendering.getBytesPerColumn() * charsPerByte)
-				{
-					 columnText += " "; //$NON-NLS-1$
-				}
-				tableContents.append(COLUMN_SEPERATOR);
-				tableContents.append(columnText);							 
-			}
-			printGC.drawString(tableContents.toString(), 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)
-	{	
-		StringBuffer tableContents = new StringBuffer();
-		int numColumns = ((Table)fViewer.getControl()).getColumnCount();		
-		TableColumn columns[] = ((Table)fViewer.getControl()).getColumns();
-		
-		int charsPerByte = fRendering.getNumCharsPerByte();
-		if (charsPerByte < 0)
-			charsPerByte = 4;
-		
-		int addressSizeInBytes = 0;
-		TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)fRendering.getAdapter(TableRenderingContentDescriptor.class);
-		if (descriptor == null)
-		{
-			// special for address column
-			IMemoryBlock memBlock = fRendering.getMemoryBlock();
-			if (memBlock instanceof IMemoryBlockExtension)
-			{
-				try {
-					addressSizeInBytes = ((IMemoryBlockExtension)memBlock).getAddressSize();
-				} catch (DebugException e) {
-					addressSizeInBytes = 0;
-				}
-				
-				if (addressSizeInBytes <= 0)
-					addressSizeInBytes = 4;
-			}
-			else
-			{
-				addressSizeInBytes = 4;
-			}
-		}
-		else
-		{
-			addressSizeInBytes = descriptor.getAddressSize();
-		}
-	
-		//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 = fRendering.getBytesPerColumn();
-			}
-			else
-			{
-				numBytes = addressSizeInBytes;
-			}
-	
-			 while (columnLabel.length() < numBytes * charsPerByte)
-			 {
-				 columnLabel.append(" "); //$NON-NLS-1$
-			 }
-	 
-			tableContents.append(COLUMN_SEPERATOR);
-			tableContents.append(columnLabel);
-		}
-		printGC.drawString(tableContents.toString(), 10, 10+(lineNum*printGC.getFontMetrics().getHeight()));
-		lineNum++;		
-		
-		return lineNum;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		
-		if (!(fViewer.getControl() instanceof Table))
-			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.PrintViewTabAction_jobtitle + fRendering.getLabel());
-		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);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java
deleted file mode 100644
index 0324df3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Resize all columns
- * 
- * @since 3.0
- */
-public class ReformatAction extends Action {
-	
-	private AbstractBaseTableRendering fRendering;
-	
-	public ReformatAction(AbstractBaseTableRendering rendering)
-	{
-		super(DebugUIMessages.ReformatAction_title);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".ReformatAction_context"); //$NON-NLS-1$
-		fRendering = rendering;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		fRendering.resizeColumnsToPreferredSize();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/RenderingsUtil.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/RenderingsUtil.java
deleted file mode 100644
index 2b806c3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/RenderingsUtil.java
+++ /dev/null
@@ -1,498 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-
-/**
- * Util functions for data conversions
- */
-public class RenderingsUtil {
-	
-	public static final int LITTLE_ENDIAN = 0;
-	public static final int BIG_ENDIAN = 1;
-	public static final int ENDIANESS_UNKNOWN = 2;
-
-	/**
-	 * Pad byte array with zero's with the byte array's length
-	 * is shorter that what's expected the conversion functions.
-	 * @param array
-	 * @param size
-	 * @param endianess
-	 * @return an array of bytes
-	 */
-	protected static byte[] fillArray(byte[] array, int size, int endianess)
-	{
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			byte[] temp = new byte[size];
-			
-			for (int i=0; i<array.length; i++)
-			{
-				temp[i] = array[i];
-			}
-			
-			// fill up the rest of the array
-			for (int i=array.length; i<size; i++)
-			{
-				temp[i] = 0;
-			}
-			
-			array = temp;
-			return array;
-		}
-        byte[] temp = new byte[size];
-        
-        for (int i=0; i<size - array.length; i++)
-        {
-        	temp[i] = 0;
-        }
-        
-        int j=0;
-        // fill up the rest of the array
-        for (int i=size - array.length; i<size; i++)
-        {
-        	temp[i] = array[j];
-        	j++;
-        }
-        
-        array = temp;
-        return array;
-	}
-	
-	static public BigInteger convertByteArrayToUnsignedLong(byte[] array, int endianess)
-	{
-		if (array.length < 8)
-		{
-			array = fillArray(array, 8, endianess);
-		}
-		
-		BigInteger value = new BigInteger("0"); //$NON-NLS-1$
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (int i=0; i< 8; i++)
-			{
-				byte[] temp = new byte[1];
-				temp[0] = array[i];
-				BigInteger b = new BigInteger(temp);
-				b = b.and(new BigInteger("ff", 16)); //$NON-NLS-1$
-				b = b.shiftLeft(i*8);
-				value = value.or(b);
-			}			
-		}
-		else
-		{	
-			for (int i=0; i< 8; i++)
-			{
-				byte[] temp = new byte[1];
-				temp[0] = array[i];
-				BigInteger b = new BigInteger(temp);
-				b = b.and(new BigInteger("ff", 16)); //$NON-NLS-1$
-				b = b.shiftLeft((7-i)*8);
-				value = value.or(b);
-			}
-		}
-		return value;
-	}
-	
-	/**
-	 * Convert byte array to long.
-	 * @param array
-	 * @param endianess
-	 * @return result of the conversion in long
-	 */
-	static public long convertByteArrayToLong(byte[] array, int endianess)
-	{	
-		if (array.length < 8)
-		{
-			array = fillArray(array, 8, endianess);
-		}
-		
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{	
-			long value = 0;
-			for (int i = 0; i < 8; i++) {
-				long b = array[i];
-				b &= 0xff;
-				value |= (b << (i * 8));
-			}
-			return value;
-		}
-        long value = 0;
-        for (int i=0; i< 8; i++)
-        {
-        	long b = array[i];
-        	b &= 0xff;
-        	value |= (b<<((7-i)*8));
-        }
-        
-        return value;
-	}
-	
-	static public BigInteger convertByteArrayToSignedBigInt(byte[] array, int endianess)
-	{	
-		if (array.length < 16)
-		{
-			array = fillArray(array, 16, endianess);
-		}
-		
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{	
-			// reverse bytes
-			byte[] holder = new byte[16];
-			int j=15;
-			for (int i=0; i<16; i++, j--)
-			{	
-				holder[i] = array[j];
-			}
-			
-			// create BigInteger
-			BigInteger value = new BigInteger(holder);
-			return value;
-		}
-        BigInteger value = new BigInteger(array);
-        return value;
-	}
-	
-	static public BigInteger convertByteArrayToSignedBigInt(byte[] array, int endianess, int arraySize)
-	{	
-		if (array.length < arraySize)
-		{
-			array = fillArray(array, arraySize, endianess);
-		}
-		
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{	
-			// reverse bytes
-			byte[] holder = new byte[arraySize];
-			int j=arraySize-1;
-			for (int i=0; i<arraySize; i++, j--)
-			{	
-				holder[i] = array[j];
-			}
-			
-			// create BigInteger
-			BigInteger value = new BigInteger(holder);
-			return value;
-		}
-        BigInteger value = new BigInteger(array);
-        return value;
-	}
-	
-	static public BigInteger convertByteArrayToUnsignedBigInt(byte[] array, int endianess)
-	{
-		if (array.length < 16)
-		{
-			array = fillArray(array, 16, endianess);
-		}
-		
-		BigInteger value = new BigInteger("0"); //$NON-NLS-1$
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (int i=0; i< 16; i++)
-			{
-				byte[] temp = new byte[1];
-				temp[0] = array[i];
-				BigInteger b = new BigInteger(temp);
-				b = b.and(new BigInteger("ff", 16)); //$NON-NLS-1$
-				b = b.shiftLeft(i*8);
-				value = value.or(b);
-			}			
-		}
-		else
-		{	
-			for (int i=0; i< 16; i++)
-			{
-				byte[] temp = new byte[1];
-				temp[0] = array[i];
-				BigInteger b = new BigInteger(temp);
-				b = b.and(new BigInteger("ff", 16)); //$NON-NLS-1$
-				b = b.shiftLeft((15-i)*8);
-				value = value.or(b);
-			}
-		}
-		return value;	
-	}
-	
-	static public BigInteger convertByteArrayToUnsignedBigInt(byte[] array, int endianess, int arraySize)
-	{
-		if (array.length < arraySize)
-		{
-			array = fillArray(array, arraySize, endianess);
-		}
-		
-		BigInteger value = new BigInteger("0"); //$NON-NLS-1$
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (int i=0; i< arraySize; i++)
-			{
-				byte[] temp = new byte[1];
-				temp[0] = array[i];
-				BigInteger b = new BigInteger(temp);
-				b = b.and(new BigInteger("ff", 16)); //$NON-NLS-1$
-				b = b.shiftLeft(i*8);
-				value = value.or(b);
-			}			
-		}
-		else
-		{	
-			for (int i=0; i< arraySize; i++)
-			{
-				byte[] temp = new byte[1];
-				temp[0] = array[i];
-				BigInteger b = new BigInteger(temp);
-				b = b.and(new BigInteger("ff", 16)); //$NON-NLS-1$
-				b = b.shiftLeft((arraySize-1-i)*8);
-				value = value.or(b);
-			}
-		}
-		return value;			
-	}
-	
-	/**
-	 * Convert byte array to integer.
-	 * @param array
-	 * @param endianess
-	 * @return result of the conversion in int
-	 */
-	static public int convertByteArrayToInt(byte[] array, int endianess)
-	{	
-		if (array.length < 4)
-		{
-			array = fillArray(array, 4, endianess);
-		}
-		
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			int value = 0;
-			for (int i = 0; i < 4; i++) {
-				int b = array[i];
-				b &= 0xff;
-				value |= (b << (i * 8));
-			}
-			return value;
-		}
-        int value = 0;
-        for (int i=0; i< 4; i++)
-        {
-        	int b = array[i];
-        	b &= 0xff;
-        	value |= (b<<((3-i)*8));
-        }
-        
-        return value;
-	}
-	
-	/**
-	 * Convert byte array to short.
-	 * @param array
-	 * @param endianess
-	 * @return result of teh conversion in short
-	 */
-	static public short convertByteArrayToShort(byte[] array, int endianess)
-	{	
-		if (array.length < 2)
-		{
-			array = fillArray(array, 2, endianess);
-		}
-		
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			short value = 0;
-			for (int i = 0; i < 2; i++) {
-				short b = array[i];
-				b &= 0xff;
-				value |= (b << (i * 8));
-			}
-			return value;
-		}
-        short value = 0;
-        for (int i=0; i< 2; i++)
-        {
-        	short b = array[i];
-        	b &= 0xff;
-        	value |= (b<<((1-i)*8));
-        }
-        return value;
-	}
-	
-	/**
-	 * Convert big integer to byte array.
-	 * @param i
-	 * @param endianess
-	 * @return result of the conversion in raw byte array
-	 */
-	static public byte[] convertBigIntegerToByteArray(BigInteger i, int endianess)
-	{
-		byte buf[]=new byte[16];
-
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (int j=0; j<16; j++)
-			{
-				BigInteger x = i.shiftRight(j*8);
-				buf[j] = x.byteValue();
-			}
-			return buf;
-		}
-        for (int j=15; j>=0; j--)
-        {
-        	BigInteger x = i.shiftRight((15-j)*8);
-        	buf[j] = x.byteValue();
-        }
-        return buf;		
-	}
-	
-	static public byte[] convertSignedBigIntToByteArray(BigInteger i, int endianess, int arraySize)
-	{
-		byte buf[]=new byte[arraySize];
-
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (int j=0; j<arraySize; j++)
-			{
-				BigInteger x = i.shiftRight(j*8);
-				buf[j] = x.byteValue();
-			}
-			return buf;
-		}
-        for (int j=arraySize-1; j>=0; j--)
-        {
-        	BigInteger x = i.shiftRight((arraySize-1-j)*8);
-        	buf[j] = x.byteValue();
-        }
-        return buf;				
-	}
-	
-	/**
-	 * Convert big integer to byte array.
-	 * @param i
-	 * @param endianess
-	 * @return result of the conversion in raw byte array
-	 */
-	static public byte[] convertUnsignedBigIntegerToByteArray(BigInteger i, int endianess)
-	{
-		byte buf[]=new byte[32];
-
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (int j=0; j<32; j++)
-			{
-				BigInteger x = i.shiftRight(j*8);
-				buf[j] = x.byteValue();
-			}
-			return buf;
-		}
-        for (int j=31; j>=0; j--)
-        {
-        	BigInteger x = i.shiftRight((31-j)*8);
-        	buf[j] = x.byteValue();
-        }
-        return buf;		
-	}
-	
-	static public byte[] convertUnsignedBigIntToByteArray(BigInteger i, int endianess, int arraySize)
-	{
-		byte buf[]=new byte[arraySize*2];
-
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (int j=0; j<arraySize*2; j++)
-			{
-				BigInteger x = i.shiftRight(j*8);
-				buf[j] = x.byteValue();
-			}
-			return buf;
-		}
-        for (int j=(arraySize*2)-1; j>=0; j--)
-        {
-        	BigInteger x = i.shiftRight(((arraySize*2)-1-j)*8);
-        	buf[j] = x.byteValue();
-        }
-        return buf;				
-	}
-	
-	/**
-	 * Convert long to byte array.
-	 * @param i
-	 * @param endianess
-	 * @return result of the conversion in raw byte array
-	 */
-	static public byte[] convertLongToByteArray(long i, int endianess)
-	{
-		byte buf[]=new byte[8];
-
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (int j=0; j<8; j++)
-			{
-				buf[j] = new Long(i>>j*8).byteValue();
-			}
-			return buf;
-		}
-        for (int j=7; j>=0; j--)
-        {
-        	buf[j] = new Long(i>>(7-j)*8).byteValue();
-        }
-        return buf;
-	}
-	
-	/**
-	 * Convert integer to byte array.
-	 * @param i
-	 * @param endianess
-	 * @return result of the conversion in raw byte array
-	 */
-	static public byte[] convertIntToByteArray(int i, int endianess)
-	{
-		byte buf[]=new byte[4];
-
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (int j=0; j<4; j++)
-			{
-				buf[j] = new Integer(i>>j*8).byteValue();
-			}
-			return buf;
-		}
-        for (int j=3; j>=0; j--)
-        {
-        	buf[j] = new Integer(i>>(3-j)*8).byteValue();
-        }
-        return buf;
-	}
-	
-	/**
-	 * Convert short to byte array.
-	 * @param i
-	 * @param endianess
-	 * @return result of the conversion in raw byte array
-	 */
-	static public byte[] convertShortToByteArray(short i, int endianess)
-	{
-		byte buf[]=new byte[2];
-
-		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{
-			for (short j=0; j<2; j++)
-			{
-				buf[j] = new Integer(i>>j*8).byteValue();
-			}
-			return buf;
-		}
-        for (short j=1; j>=0; j--)
-        {
-        	buf[j] = new Integer(i>>(1-j)*8).byteValue();
-        }
-        return buf;
-	} 	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java
deleted file mode 100644
index a35865c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.lang.reflect.Method;
-
-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;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.ui.memory.AbstractTableRendering;
-import org.eclipse.jface.action.Action;
-
-/**
- * Reest MemoryViewTab to the base address of a memory block
- * 
- * @since 3.0
- */
-public class ResetToBaseAddressAction extends Action {
-
-    private AbstractBaseTableRendering fRendering;
-
-    public ResetToBaseAddressAction(AbstractBaseTableRendering rendering) {
-        fRendering = rendering;
-        setText(DebugUIMessages.ResetMemoryBlockAction_title);
-        setToolTipText(DebugUIMessages.ResetMemoryBlockAction_tootip);
-
-        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() {
-    	
-    	// check if client has overrode the #reset method
-    	// if client has overrode #reset method, call old method
-    	// otherwise, call new #resetRendering method
-    	// This is done to ensure that client's code will continue to be executed until
-    	// they have migrated to the new #resetRendering API
-    	Class renderingClass = fRendering.getClass();
-    	try {
-			Method method = renderingClass.getMethod("reset", new Class[]{}); //$NON-NLS-1$
-			if (method.getDeclaringClass().equals(AbstractTableRendering.class))
-			{
-				// client has not overrode, call new method
-				try {
-					fRendering.resetRendering();
-				} catch (DebugException e) {
-					MemoryViewUtil.openError(DebugUIMessages.AbstractTableRendering_12, DebugUIMessages.AbstractTableRendering_13, e); //
-				}
-				return;
-			}
-		} catch (SecurityException e) {
-		} catch (NoSuchMethodException e) {
-			try {
-				// if no such method, then it must be AbstractAsycTableRendering
-				fRendering.resetRendering();
-			} catch (DebugException e1) {
-				MemoryViewUtil.openError(DebugUIMessages.AbstractTableRendering_12, DebugUIMessages.AbstractTableRendering_13, e); //
-			}
-		}
-		
-		if(fRendering instanceof AbstractTableRendering)
-		{
-			// call old method
-			((AbstractTableRendering)fRendering).reset();
-		}
-    }
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java
deleted file mode 100644
index 9e79fba..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * 
- * Represent a signed integer rendering.
- */
-public class SignedIntegerRendering extends AbstractIntegerRendering {
-
-	private int fColSize;
-	private BigInteger fMax;
-	private BigInteger fMin;
-	
-	/**
-	 * @param memBlock
-	 * @param renderingId
-	 */
-	public SignedIntegerRendering(String renderingId) {
-		super(renderingId);
-	}
-
-	private String convertToString(byte[] byteArray, int columnSize, int endianess)
-	{
-		String ret;
-		long result = 0;
-		
-		if (columnSize == 1)
-		{
-			result = byteArray[0];
-		}
-		else if (columnSize == 2)
-		{	
-			result = RenderingsUtil.convertByteArrayToShort(byteArray, endianess);
-		}
-		else if (columnSize == 4)
-		{
-			result = RenderingsUtil.convertByteArrayToInt(byteArray, endianess);
-		}
-		else if (columnSize == 8)
-		{
-			result = RenderingsUtil.convertByteArrayToLong(byteArray, endianess);				
-		}
-		else if (columnSize == 16)
-		{
-			BigInteger bigRet = RenderingsUtil.convertByteArrayToSignedBigInt(byteArray, endianess);
-			return bigRet.toString();
-		}
-		else
-		{
-			BigInteger bigRet = RenderingsUtil.convertByteArrayToSignedBigInt(byteArray, endianess, columnSize);
-			return bigRet.toString();			
-		}
-
-		ret = new Long(result).toString();
-		
-		return ret;
-	}	
-	
-	private byte[] convertToBytes(int colSize, String newValue, int endianess)
-	{
-		try {
-			byte[] bytes;
-			if (colSize == 1)
-			{
-				byte x = Byte.parseByte(newValue);
-				bytes = new byte[1];
-				bytes[0] = x;
-			}
-			else if (colSize == 2)
-			{	
-				short i = Short.parseShort(newValue);
-				bytes = RenderingsUtil.convertShortToByteArray(i, endianess);
-			}
-			else if (colSize == 4)
-			{	
-				int i = Integer.parseInt(newValue);
-				bytes = RenderingsUtil.convertIntToByteArray(i, endianess);
-			}
-			else if (colSize == 8)
-			{	
-				long i = Long.parseLong(newValue);
-				bytes = RenderingsUtil.convertLongToByteArray(i, endianess);
-			}
-			else if (colSize == 16)
-			{
-				// special case for colSize == 16
-				// need to represent number in Big Integer
-				BigInteger i = new BigInteger(newValue);
-				bytes = RenderingsUtil.convertBigIntegerToByteArray(i, endianess);
-			
-				return bytes;
-			}		
-			else
-			{
-				BigInteger i = new BigInteger(newValue);
-				
-				// avoid calculating max and min over and over again
-				// for the same column size
-				if (fColSize != colSize)
-				{
-					fColSize = colSize;
-					fMax = BigInteger.valueOf(2);
-					fMax = fMax.pow(colSize*8-1);
-					fMin = fMax.multiply(BigInteger.valueOf(-1));
-					fMax = fMax.subtract(BigInteger.valueOf(1));
-				}
-				
-				if (i.compareTo(fMax) > 0 || i.compareTo(fMin) < 0)
-					throw new NumberFormatException();
-				
-				bytes = RenderingsUtil.convertSignedBigIntToByteArray(i, endianess, colSize);
-				return bytes;				
-			}
-			
-			return bytes;
-		} catch (NumberFormatException e) {
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.debug.extended.ui.AbstractMemoryRenderer#getString(java.lang.String, java.math.BigInteger, byte[])
-	 */
-	public String getString(String dataType, BigInteger address, MemoryByte[] data) {
-		
-		boolean invalid = false;
-		String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-		for (int i=0; i<data.length; i++)
-		{
-			if (!data[i].isReadable())
-			{
-				invalid = true;
-				break;
-			}
-		}
-		
-		if (invalid)
-		{
-			StringBuffer strBuf = new StringBuffer();
-			for (int i=0; i<data.length; i++)
-			{
-				strBuf.append(paddedStr);
-			}
-			return strBuf.toString();
-		}
-		
-		int columnSize = getBytesPerColumn();
-		
-		// if the user has not set an endianess to the rendering
-		// take default endianess from bytes
-		int endianess = getDisplayEndianess();
-		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
-			endianess = getBytesEndianess(data);
-		
-		byte[] byteArray = new byte[data.length];
-		for (int i=0; i<byteArray.length;i ++)
-		{
-			byteArray[i] = data[i].getValue();
-		}
-		
-		// if endianess is unknown, do not render, just return padded string		
-		if (RenderingsUtil.ENDIANESS_UNKNOWN == endianess)
-		{
-			StringBuffer strBuf = new StringBuffer();
-			for (int i=0; i<byteArray.length; i++)
-			{
-				strBuf.append(paddedStr);
-			}
-			return strBuf.toString();
-		}
-		return convertToString(byteArray, columnSize, endianess);
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.debug.extended.ui.AbstractMemoryRenderer#getBytes(java.lang.String, java.math.BigInteger, java.lang.String)
-	 */
-	public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) {
-		
-		int columnSize = getBytesPerColumn();
-		
-		// if the user has not set an endianess to the rendering
-		// take default
-		int endianess = getDisplayEndianess();
-		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
-			endianess = getBytesEndianess(currentValues);
-		
-		// if endianess is unknown, do not try to render new data to bytes
-		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
-		{
-			byte[] retBytes = new byte[currentValues.length];
-			for (int i=0 ;i<currentValues.length; i++)
-				retBytes[i] = currentValues[i].getValue();
-			return retBytes;
-		}
-		
-		return convertToBytes(columnSize, data, endianess);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java
deleted file mode 100644
index 9651f7e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate;
-
-/**
- * Delegate for creating a signed integer rendering.
- * @since 3.1
- */
-public class SignedIntegerRenderingTypeDelegate implements
-		IMemoryRenderingTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate#createRendering(java.lang.String)
-	 */
-	public IMemoryRendering createRendering(String id) throws CoreException {
-		return new SignedIntegerRendering(id);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java
deleted file mode 100644
index 0cdaa4b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.AbstractTableRendering;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * @since 3.1
- */
-public class TableRenderingCellModifier implements ICellModifier {
-
-    private boolean editActionInvoked = false;
-
-    private AbstractTableRendering fRendering;
-
-    public TableRenderingCellModifier(AbstractTableRendering rendering) {
-        fRendering = rendering;
-    }
-
-    /*
-     * (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 TableRenderingLine))
-                return false;
-
-            if (!editActionInvoked)
-                return false;
-
-            if (fRendering == null)
-                return false;
-
-            if (fRendering.getMemoryBlock().supportsValueModification() == false) {
-                return false;
-            }
-
-            TableRenderingLine line = (TableRenderingLine) element;
-            if (TableRenderingLine.P_ADDRESS.equals(property)) {
-                return false;
-            }
-
-            // property is stored as number of addressable unit away from the
-            // line address
-            // to calculate offset to the memory line array, offset =
-            // numberofAddressableUnit * addressableSize
-            int addressableSize = getAddressableSize();
-
-            int offset = Integer.valueOf(property, 16).intValue() * addressableSize;
-            int end = offset + fRendering.getBytesPerColumn();
-
-            for (int i = offset; i < end; i++) {
-                MemoryByte oneByte = line.getByte(i);
-
-                if (!oneByte.isWritable()) {
-                    canModify = false;
-                }
-            }
-            return canModify;
-        } catch (NumberFormatException e) {
-            canModify = false;
-            return canModify;
-        }
-    }
-
-    /**
-     * @return
-     */
-    private int getAddressableSize() {
-        int addressableSize = fRendering.getAddressableSize();
-        if (addressableSize < 1)
-            addressableSize = 1;
-        return addressableSize;
-    }
-
-    /*
-     * (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 TableRenderingLine))
-            return null;
-
-        TableRenderingLine line = (TableRenderingLine) element;
-        try {
-            if (TableRenderingLine.P_ADDRESS.equals(property))
-                return line.getAddress();
-
-            int offset = Integer.valueOf(property, 16).intValue() * getAddressableSize();
-            int end = offset + fRendering.getBytesPerColumn();
-
-            // Ask for label provider
-            MemoryByte[] memory = line.getBytes(offset, end);
-
-            if (line.isAvailable(offset, end)) {
-                // ask the renderer for a string representation of the bytes
-                offset = Integer.valueOf(property, 16).intValue();
-
-                BigInteger address = new BigInteger(((TableRenderingLine) element).getAddress(), 16);
-                address = address.add(BigInteger.valueOf(offset));
-
-                return fRendering.getString(fRendering.getRenderingId(), address, memory);
-            }
-            // if the range is not available, just return padded string
-            return getPaddedString(offset, end);
-        } 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) {
-        TableRenderingLine line = null;
-        if (!(element instanceof TableRenderingLine)) {
-            line = (TableRenderingLine) ((TableItem) element).getData();
-        } else {
-            line = (TableRenderingLine) element;
-        }
-
-        // validate data
-        if (!(value instanceof String))
-            return;
-
-        try {
-            // calculate offset to update
-            IMemoryBlock memoryBlk = fRendering.getMemoryBlock();
-
-            int lineOffset = Integer.valueOf(property, 16).intValue();
-
-            // this offset is number of addressable unit from the line address
-            BigInteger offset = getOffset(memoryBlk, line.getAddress(), lineOffset);
-
-            byte[] bytes = null;
-
-            String oldValue = (String) getValue(line, property);
-
-            if (!oldValue.equals(value)) {
-
-                // property is number of addressable unit from line address
-                // to calculate proper offset in the memoryViewLine's array
-                // offset = numberOfAddressableUnit * addressableSize
-                int offsetToLine = Integer.valueOf(property, 16).intValue() * getAddressableSize();
-                int end = offsetToLine + fRendering.getBytesPerColumn();
-
-                MemoryByte[] oldArray = line.getBytes(offsetToLine, end);
-
-                BigInteger address = new BigInteger(line.getAddress(), 16);
-                address = address.add(BigInteger.valueOf(offsetToLine));
-
-                bytes = fRendering.getBytes(fRendering.getRenderingId(), address, oldArray, (String) value);
-
-                if (bytes == null)
-                    return;
-
-                if (bytes.length == 0)
-                    return;
-
-                if (bytes.length <= oldArray.length) {
-                    boolean changed = false;
-                    // check that the bytes returned has actually changed
-                    for (int i = 0; i < bytes.length; i++) {
-                        if (bytes[i] != oldArray[i].getValue()) {
-                            changed = true;
-                            break;
-                        }
-                    }
-                    if (!changed)
-                        return;
-                }
-            } else {
-                // return if value has not changed
-                return;
-            }
-
-            if (memoryBlk instanceof IMemoryBlockExtension)
-                ((IMemoryBlockExtension) memoryBlk).setValue(offset, bytes);
-            else
-                memoryBlk.setValue(offset.longValue(), bytes);
-        } catch (DebugException e) {
-            MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, DebugUIMessages.MemoryViewCellModifier_failed, e);
-        } catch (NumberFormatException e) {
-            MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, DebugUIMessages.MemoryViewCellModifier_failed + "\n" + DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null); //$NON-NLS-1$
-        }
-
-    }
-
-    private BigInteger getOffset(IMemoryBlock memory, String lineAddress, int lineOffset) throws DebugException {
-
-        BigInteger lineAddr = new BigInteger(lineAddress, 16);
-        BigInteger memoryAddr;
-
-        if (memory instanceof IMemoryBlockExtension) {
-            memoryAddr = ((IMemoryBlockExtension) memory).getBigBaseAddress();
-        } else {
-            memoryAddr = BigInteger.valueOf(memory.getStartAddress());
-        }
-
-        if (memoryAddr == null)
-            memoryAddr = new BigInteger("0"); //$NON-NLS-1$
-
-        return lineAddr.subtract(memoryAddr).add(BigInteger.valueOf(lineOffset));
-    }
-
-    /**
-     * @param editActionInvoked
-     *            The editActionInvoked to set.
-     */
-    public void setEditActionInvoked(boolean editActionInvoked) {
-        this.editActionInvoked = editActionInvoked;
-    }
-
-    /**
-     * @param start
-     * @param end
-     * @return padded string
-     */
-    public String getPaddedString(int start, int end) {
-        StringBuffer buf = new StringBuffer();
-        String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-        for (int i = start; i < end; i++) {
-            buf.append(paddedStr);
-        }
-        return buf.toString();
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentDescriptor.java
deleted file mode 100644
index 4ab4a13..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentDescriptor.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-
-public class TableRenderingContentDescriptor{
-	private AbstractBaseTableRendering fRendering;
-	private int fPreBuffer;					// number of lines before the top visible line
-	private int fPostBuffer;				// number of lines after thes last visible line
-	private BigInteger fLoadAddress;		// Top address to load at the table
-	private int fNumLines;					// number of visible lines
-	private BigInteger fMemoryBlockBaseAddress;		// base address of the memory block when this input is set
-	private BigInteger fStartAddress;
-	private BigInteger fEndAddress;
-	
-	private int fAddressSize = -1;
-	private int fAddressableSize = -1;
-	
-	private boolean fAlignAddress = true;
-	
-	private boolean fIsDynamicLoad;
-	
-	public TableRenderingContentDescriptor(AbstractBaseTableRendering rendering)
-	{
-		fRendering = rendering;
-	}
-
-	public int getPostBuffer() {
-		return fPostBuffer;
-	}
-	public int getPreBuffer() {
-		return fPreBuffer;
-	}
-	public BigInteger getLoadAddress() {
-		return fLoadAddress;
-	}
-	
-	public IMemoryBlock getMemoryBlock()
-	{
-		return fRendering.getMemoryBlock();
-	}
-	public void setPostBuffer(int postBuffer) {
-		fPostBuffer = postBuffer;
-	}
-	public void setPreBuffer(int preBuffer) {
-		fPreBuffer = preBuffer;
-	}
-
-	public void setLoadAddress(BigInteger address)
-	{
-		fLoadAddress = address;
-	}
-	public BigInteger getContentBaseAddress() {
-		
-		if (fMemoryBlockBaseAddress == null)
-		{
-			try {
-				updateContentBaseAddress();
-			} catch (DebugException e) {
-				fMemoryBlockBaseAddress = new BigInteger("0"); //$NON-NLS-1$
-			}
-		}
-		
-		return fMemoryBlockBaseAddress;
-	}
-	
-	public void updateContentBaseAddress() throws DebugException {
-		IMemoryBlock memoryBlock = fRendering.getMemoryBlock();
-		if (memoryBlock instanceof IMemoryBlockExtension)
-			fMemoryBlockBaseAddress = ((IMemoryBlockExtension)memoryBlock).getBigBaseAddress();
-		else
-			fMemoryBlockBaseAddress = BigInteger.valueOf(memoryBlock.getStartAddress());
-	}
-	
-	/**
-	 * @return start address of the memory block
-	 */
-	public BigInteger getStartAddress()
-	{
-		if (fStartAddress == null)
-		{
-			try {
-				IMemoryBlock memoryBlock = fRendering.getMemoryBlock();
-				if(memoryBlock instanceof IMemoryBlockExtension)
-				{
-					BigInteger startAddress = ((IMemoryBlockExtension)memoryBlock).getMemoryBlockStartAddress();
-					if (startAddress != null)
-						fStartAddress =  startAddress;
-				}
-			} catch (DebugException e) {
-				// default to 0 if we have trouble getting the start address
-				fStartAddress =  BigInteger.valueOf(0);			
-			}
-			
-			if (fStartAddress == null)
-				fStartAddress =  BigInteger.valueOf(0);
-		}
-		return fStartAddress; 
-	}
-	
-	/**
-	 * @return end address of the memory block
-	 */
-	public BigInteger getEndAddress()
-	{
-		if (fEndAddress == null)
-		{
-			IMemoryBlock memoryBlock = fRendering.getMemoryBlock();
-			if(memoryBlock instanceof IMemoryBlockExtension)
-			{
-				BigInteger endAddress;
-				try {
-					endAddress = ((IMemoryBlockExtension)memoryBlock).getMemoryBlockEndAddress();
-					if (endAddress != null)
-						fEndAddress = endAddress;
-				} catch (DebugException e) {
-					fEndAddress = null;
-				}
-				
-				if (fEndAddress == null)
-				{
-					int addressSize;
-					try {
-						addressSize = ((IMemoryBlockExtension)memoryBlock).getAddressSize();
-					} catch (DebugException e) {
-						addressSize = 4;
-					}
-					
-					endAddress = BigInteger.valueOf(2);
-					endAddress = endAddress.pow(addressSize*8);
-					endAddress = endAddress.subtract(BigInteger.valueOf(1));
-					fEndAddress =  endAddress;
-				}
-			}
-			
-			if (fEndAddress == null)
-				fEndAddress = BigInteger.valueOf(Integer.MAX_VALUE);
-		}
-		return fEndAddress;
-	}
-	
-	public int getNumLines()
-	{
-		return fNumLines;
-	}
-	
-	public void setNumLines(int numLines)
-	{
-		fNumLines = numLines;
-	}
-	
-	public AbstractBaseTableRendering getRendering()
-	{
-		return fRendering;
-	}
-
-	public int getAddressableSize() {
-		return fAddressableSize;
-	}
-
-	public void setAddressableSize(int addressableSize) {
-		fAddressableSize = addressableSize;
-	}
-
-	public int getAddressSize() {
-		return fAddressSize;
-	}
-
-	public void setAddressSize(int addressSize) {
-		fAddressSize = addressSize;
-	}
-	
-	public void setDynamicLoad(boolean dynamic)
-	{
-		fIsDynamicLoad = dynamic;
-	}
-	
-	public boolean isDynamicLoad()
-	{
-		return fIsDynamicLoad;
-	}
-	
-	public boolean isMemoryBlockBaseAddressInitialized()
-	{
-		return (fMemoryBlockBaseAddress != null);
-	}
-	
-	public boolean isAlignAddressToBoundary()
-	{
-		return fAlignAddress;
-	}
-	
-	public void setAlignAddressToBoundary(boolean align)
-	{
-		fAlignAddress = align;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java
deleted file mode 100644
index 8db67e8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.internal.ui.memory.provisional.AbstractAsyncTableRendering;
-import org.eclipse.debug.ui.memory.AbstractTableRendering;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-
-/**
- * This is an internal class for storing information about the content
- * in the table viewer.
- */
-public class TableRenderingContentInput extends PlatformObject {
-
-	private IMemoryRendering fRendering;
-	private int fPreBuffer;					// number of lines before the top visible line
-	private int fPostBuffer;				// number of lines after thes last visible line
-	private int fDefaultBufferSize;
-	private BigInteger fLoadAddress;		// Top address to load at the table
-	private int fNumLines;					// number of visible lines
-	private boolean fUpdateDelta;			// should the content provider calculate delta info
-	private BigInteger fMemoryBlockBaseAddress;		// base address of the memory block when this input is set
-	private BigInteger fStartAddress;
-	private BigInteger fEndAddress;
-	
-	public TableRenderingContentInput(IMemoryRendering rendering, int preBuffer, int postBuffer, int defaultBufferSize, BigInteger loadAddress, int numOfLines, boolean updateDelta, BigInteger contentBaseAddress)
-	{
-		fRendering = rendering;
-		fPreBuffer = preBuffer;
-		fPostBuffer = postBuffer;
-		fLoadAddress = loadAddress;
-		fNumLines = numOfLines;
-		fDefaultBufferSize = defaultBufferSize;
-		fUpdateDelta = updateDelta;
-
-		if (contentBaseAddress == null)
-		{
-			try {
-				updateContentBaseAddress();
-			} catch (DebugException e) {
-			}
-		}
-		else
-		{
-			fMemoryBlockBaseAddress = contentBaseAddress;
-		}
-	}
-
-	public int getPostBuffer() {
-		return fPostBuffer;
-	}
-	public int getPreBuffer() {
-		return fPreBuffer;
-	}
-	public BigInteger getLoadAddress() {
-		return fLoadAddress;
-	}
-	
-	public IMemoryBlock getMemoryBlock()
-	{
-		return fRendering.getMemoryBlock();
-	}
-	public void setPostBuffer(int postBuffer) {
-		fPostBuffer = postBuffer;
-	}
-	public void setPreBuffer(int preBuffer) {
-		fPreBuffer = preBuffer;
-	}
-	public int getDefaultBufferSize() {
-		return fDefaultBufferSize;
-	}
-	public void setDefaultBufferSize(int defaultBufferSize) {
-		fDefaultBufferSize = defaultBufferSize;
-	}
-	public boolean isUpdateDelta() {
-		return fUpdateDelta;
-	}
-	public void setUpdateDelta(boolean updateDelta) {
-		fUpdateDelta = updateDelta;
-	}
-
-	public void setLoadAddress(BigInteger address)
-	{
-		fLoadAddress = address;
-	}
-	public BigInteger getContentBaseAddress() {
-		
-		if (fMemoryBlockBaseAddress == null)
-		{
-			try {
-				updateContentBaseAddress();
-			} catch (DebugException e) {
-				fMemoryBlockBaseAddress = new BigInteger("0"); //$NON-NLS-1$
-			}
-		}
-		
-		return fMemoryBlockBaseAddress;
-	}
-	
-	public void updateContentBaseAddress() throws DebugException {
-		IMemoryBlock memoryBlock = fRendering.getMemoryBlock();
-		if (memoryBlock instanceof IMemoryBlockExtension)
-			fMemoryBlockBaseAddress = ((IMemoryBlockExtension)memoryBlock).getBigBaseAddress();
-		else
-			fMemoryBlockBaseAddress = BigInteger.valueOf(memoryBlock.getStartAddress());
-	}
-	
-	/**
-	 * @return start address of the memory block
-	 */
-	public BigInteger getStartAddress()
-	{
-		if (fStartAddress == null)
-		{
-			try {
-				IMemoryBlock memoryBlock = fRendering.getMemoryBlock();
-				if(memoryBlock instanceof IMemoryBlockExtension)
-				{
-					BigInteger startAddress = ((IMemoryBlockExtension)memoryBlock).getMemoryBlockStartAddress();
-					if (startAddress != null)
-						fStartAddress =  startAddress;
-				}
-			} catch (DebugException e) {
-				// default to 0 if we have trouble getting the start address
-				fStartAddress =  BigInteger.valueOf(0);			
-			}
-			
-			if (fStartAddress == null)
-				fStartAddress =  BigInteger.valueOf(0);
-		}
-		return fStartAddress; 
-	}
-	
-	/**
-	 * @return end address of the memory block
-	 */
-	public BigInteger getEndAddress()
-	{
-		if (fEndAddress == null)
-		{
-			IMemoryBlock memoryBlock = fRendering.getMemoryBlock();
-			if(memoryBlock instanceof IMemoryBlockExtension)
-			{
-				BigInteger endAddress;
-				try {
-					endAddress = ((IMemoryBlockExtension)memoryBlock).getMemoryBlockEndAddress();
-					if (endAddress != null)
-						fEndAddress = endAddress;
-				} catch (DebugException e) {
-					fEndAddress = null;
-				}
-				
-				if (fEndAddress == null)
-				{
-					int addressSize;
-					try {
-						addressSize = ((IMemoryBlockExtension)memoryBlock).getAddressSize();
-					} catch (DebugException e) {
-						addressSize = 4;
-					}
-					
-					endAddress = BigInteger.valueOf(2);
-					endAddress = endAddress.pow(addressSize*8);
-					endAddress = endAddress.subtract(BigInteger.valueOf(1));
-					fEndAddress =  endAddress;
-				}
-			}
-			
-			if (fEndAddress == null)
-				fEndAddress = BigInteger.valueOf(Integer.MAX_VALUE);
-		}
-		return fEndAddress;
-	}
-	
-	public int getNumLines()
-	{
-		return fNumLines;
-	}
-	
-	public void setNumLines(int numLines)
-	{
-		fNumLines = numLines;
-	}
-	
-	public Object getAdapter(Class adapter) {
-		if (adapter == AbstractTableRendering.class)
-		{
-			if (fRendering instanceof AbstractTableRendering)
-				return fRendering;
-		}
-		if (adapter == AbstractAsyncTableRendering.class)
-		{
-			if (fRendering instanceof AbstractAsyncTableRendering)
-				return fRendering;
-		}
-		
-		return super.getAdapter(adapter);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java
deleted file mode 100644
index cefef96..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java
+++ /dev/null
@@ -1,958 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-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.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.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.debug.internal.ui.memory.IMemoryRenderingUpdater;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.AbstractTableRendering;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider for MemoryViewTab
- * 
- * @since 3.0
- */
-public class TableRenderingContentProvider extends BasicDebugViewContentProvider {
-	
-	// lines currently being displayed by the table rendering
-	protected Vector lineCache;
-	
-	// Cache to allow the content provider to comppute change information
-	// Cache is taken by copying the lineCache after a suspend event
-	// or change event from the the memory block.
-	protected Hashtable contentCache;
-	
-	// cache in the form of MemoryByte
-	// needed for reorganizing cache when the row size changes
-	private MemoryByte[] fContentCacheInBytes;	
-	private String fContentCacheStartAddress;
-
-	private BigInteger fBufferTopAddress;
-	
-	private TableRenderingContentInput fInput;
-	private BigInteger fBufferEndAddress;
-	
-	private boolean fDynamicLoad;
-
-	/**
-	 * @param memoryBlock
-	 * @param newTab
-	 */
-	public TableRenderingContentProvider()
-	{
-		lineCache = new Vector();
-		contentCache = new Hashtable();
-		initializeDynamicLoad();
-			
-		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) {
-		try {
-			if (newInput instanceof TableRenderingContentInput)
-			{
-				fInput = (TableRenderingContentInput)newInput;
-				if (fInput.getMemoryBlock() instanceof IMemoryBlockExtension)
-					loadContentForExtendedMemoryBlock();
-				else
-					loadContentForSimpleMemoryBlock();
-				
-				// tell rendering to display table if the loading is successful
-				getTableRendering(fInput).displayTable();
-			}
-		} catch (DebugException e) {
-			getTableRendering(fInput).displayError(e);
-		}
-	}
-
-	public void dispose() {
-		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 {
-				getMemoryFromMemoryBlock();
-			} catch (DebugException e) {
-				DebugUIPlugin.log(e.getStatus());
-				getTableRendering(fInput).displayError(e);
-				return lineCache.toArray();
-			}
-		}
-		
-		// check to see if the row size has changed
-		TableRenderingLine line = (TableRenderingLine)lineCache.get(0);
-		int currentRowSize = line.getByteArray().length;
-		int renderingRowSize = getTableRendering(fInput).getBytesPerLine();
-		
-		if (renderingRowSize != currentRowSize)
-		{
-			try {
-				reorganizeContentCache(renderingRowSize);			
-				reorganizeLines(lineCache, renderingRowSize);
-			} catch (DebugException e) {
-				DebugUIPlugin.log(e.getStatus());
-				getTableRendering(fInput).displayError(e);
-				return lineCache.toArray();
-			}
-		}
-		return lineCache.toArray();
-	}
-	
-	private void getMemoryFromMemoryBlock() throws DebugException {
-		IMemoryBlock memoryBlock = fInput.getMemoryBlock();
-		if (memoryBlock instanceof IMemoryBlockExtension)
-		{
-			loadContentForExtendedMemoryBlock();
-			getTableRendering(fInput).displayTable();
-		}
-		else
-		{
-			loadContentForSimpleMemoryBlock();
-			getTableRendering(fInput).displayTable();
-		}
-	}
-
-	/**
-	 * @throws DebugException
-	 */
-	public void loadContentForSimpleMemoryBlock() throws DebugException {
-		// get as much memory as the memory block can handle
-		fInput.setPreBuffer(0);
-		fInput.setPostBuffer(0);
-		fInput.setDefaultBufferSize(0);
-		long startAddress = fInput.getMemoryBlock().getStartAddress();
-		BigInteger address = BigInteger.valueOf(startAddress);
-		long length = fInput.getMemoryBlock().getLength();
-		long numLines = length / getTableRendering(fInput).getBytesPerLine();
-		getMemoryToFitTable(address, numLines, fInput.isUpdateDelta());
-	}
-
-	/**
-	 * @throws DebugException
-	 */
-	public void loadContentForExtendedMemoryBlock() throws DebugException {
-		
-		// calculate top buffered address
-		BigInteger loadAddress = fInput.getLoadAddress();
-		if (loadAddress == null)
-		{
-			loadAddress = new BigInteger("0"); //$NON-NLS-1$
-		}
-		
-		BigInteger mbStart = fInput.getStartAddress();
-		BigInteger mbEnd = fInput.getEndAddress();
-		
-		// check that the load address is within range
-		if (loadAddress.compareTo(mbStart) < 0 || loadAddress.compareTo(mbEnd) > 0)
-		{
-			// default load address to memory block base address
-			loadAddress = ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress();
-			fInput.setLoadAddress(loadAddress);
-		}
-		
-		// if address is still out of range, throw an exception
-		if (loadAddress.compareTo(mbStart) < 0 || loadAddress.compareTo(mbEnd) > 0)
-		{
-			throw new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.TableRenderingContentProvider_0 + loadAddress.toString(16), null));
-		}
-		
-		int addressableUnitsPerLine = getTableRendering(fInput).getAddressableUnitPerLine();
-		BigInteger bufferStart = loadAddress.subtract(BigInteger.valueOf(fInput.getPreBuffer()*addressableUnitsPerLine));
-		BigInteger bufferEnd = loadAddress.add(BigInteger.valueOf(fInput.getPostBuffer()*addressableUnitsPerLine));
-		bufferEnd = bufferEnd.add(BigInteger.valueOf(fInput.getNumLines()*addressableUnitsPerLine));
-		
-		if (isDynamicLoad())
-		{
-			if (bufferStart.compareTo(mbStart) < 0)
-				bufferStart = mbStart;
-			
-			if (bufferEnd.compareTo(mbEnd) > 0)
-				bufferEnd = mbEnd;
-			
-			// buffer end must be greater than buffer start
-			if (bufferEnd.compareTo(bufferStart) <= 0)
-				throw new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.TableRenderingContentProvider_1, null));
-			
-			int numLines = bufferEnd.subtract(bufferStart).divide(BigInteger.valueOf(addressableUnitsPerLine)).intValue()+1;		
-			// get stoarage to fit the memory view tab size
-			getMemoryToFitTable(bufferStart, numLines, fInput.isUpdateDelta());
-		}
-		else
-		{
-			if (bufferStart.compareTo(mbStart) < 0)
-				bufferStart = mbStart;
-			
-			if (bufferEnd.compareTo(mbEnd) > 0)
-			{
-				bufferStart = mbEnd.subtract(BigInteger.valueOf((fInput.getNumLines()-1)*addressableUnitsPerLine));
-			}
-			
-			// buffer end must be greater than buffer start
-			if (bufferEnd.compareTo(bufferStart) <= 0)
-				throw new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.TableRenderingContentProvider_2, null));
-			
-			int numLines = fInput.getNumLines();	
-			// get stoarage to fit the memory view tab size
-			getMemoryToFitTable(bufferStart, numLines, fInput.isUpdateDelta());
-		}
-	}
-	
-	/**
-	 * @return the memroy block
-	 */
-	public IMemoryBlock getMemoryBlock() {
-		return fInput.getMemoryBlock();
-	}
-	
-	/**
-	 * Get memory to fit table
-	 * @param startingAddress
-	 * @param numberOfLines
-	 * @param updateDelta
-	 * @throws DebugException
-	 */
-	public void getMemoryToFitTable(BigInteger startingAddress, long numberOfLines, boolean updateDelta) throws DebugException
-	{
-		// do not ask for memory from memory block if the debug target
-		// is already terminated
-		IDebugTarget target = fInput.getMemoryBlock().getDebugTarget();
-		
-		if (target.isDisconnected() || target.isTerminated())
-			return;
-		
-		boolean error = false;
-		DebugException dbgEvt = null;
-		
-		// calculate address size
-		String adjustedAddress = startingAddress.toString(16);
-		
-		int addressSize;
-		try {
-			addressSize = getAddressSize(startingAddress);
-		} catch (DebugException e1) {
-			dbgEvt = e1;
-			error = true;
-			addressSize = 4;
-		}
-		
-		int addressLength = addressSize * IInternalDebugUIConstants.CHAR_PER_BYTE;
-
-		// align to the closest boundary based on addressable size per line
-		if ( getMemoryBlock() instanceof IMemoryBlockExtension)
-		{
-			startingAddress = MemoryViewUtil.alignToBoundary(startingAddress, getTableRendering(fInput).getAddressableUnitPerLine());
-		}
-
-		IMemoryBlockExtension extMemoryBlock = null;
-		MemoryByte[] memoryBuffer = null;
-		
-		String paddedString = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-		
-		long reqNumBytes = 0;
-		try
-		{
-			if (fInput.getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				reqNumBytes = getTableRendering(fInput).getBytesPerLine() * numberOfLines;
-				// get memory from memory block
-				extMemoryBlock = (IMemoryBlockExtension) fInput.getMemoryBlock();
-				
-				long reqNumberOfUnits = getTableRendering(fInput).getAddressableUnitPerLine() * numberOfLines;
-						
-				memoryBuffer =	extMemoryBlock.getBytesFromAddress(startingAddress,	reqNumberOfUnits);
-		
-				if(memoryBuffer == null)
-				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.MemoryViewContentProvider_Unable_to_retrieve_content, null));
-					throw e;
-				}
-			}
-			else
-			{
-				// get memory from memory block
-				byte[] memory = fInput.getMemoryBlock().getBytes();
-				
-				if (memory == null)
-				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.MemoryViewContentProvider_Unable_to_retrieve_content, null));	
-					throw e;					
-				}
-				
-				int prefillNumBytes = 0;
-				
-				// number of bytes need to prefill
-				if (!startingAddress.toString(16).endsWith("0")) //$NON-NLS-1$
-				{
-					adjustedAddress = startingAddress.toString(16).substring(0, adjustedAddress.length() - 1);
-					adjustedAddress += "0"; //$NON-NLS-1$
-					BigInteger adjustedStart = new BigInteger(adjustedAddress, 16);
-					prefillNumBytes = startingAddress.subtract(adjustedStart).intValue();
-					startingAddress = adjustedStart;
-				}
-				reqNumBytes = fInput.getMemoryBlock().getLength() + prefillNumBytes;
-				
-				// figure out number of dummy bytes to append
-				while (reqNumBytes % getTableRendering(fInput).getBytesPerLine() != 0)
-				{
-					reqNumBytes ++;
-				}
-				
-				numberOfLines = reqNumBytes / getTableRendering(fInput).getBytesPerLine();
-				
-				// create memory byte for IMemoryBlock
-				memoryBuffer = new MemoryByte[(int)reqNumBytes];
-				
-				// prefill buffer to ensure double-word alignment
-				for (int i=0; i<prefillNumBytes; i++)
-				{
-					MemoryByte tmp = new MemoryByte();
-					tmp.setValue((byte)0);
-					tmp.setWritable(false);
-					tmp.setReadable(false);
-					tmp.setEndianessKnown(false);
-					memoryBuffer[i] = tmp;
-				}
-				
-				// fill buffer with memory returned by debug adapter
-				int j = prefillNumBytes; 							// counter for memoryBuffer
-				for (int i=0; i<memory.length; i++)
-				{
-					MemoryByte tmp = new MemoryByte();
-					tmp.setValue(memory[i]);
-					tmp.setReadable(true);
-					tmp.setWritable(true);
-					tmp.setEndianessKnown(false);
-					memoryBuffer[j] = tmp;
-					j++;
-				}
-				
-				// append to buffer to fill up the entire line
-				for (int i=j; i<memoryBuffer.length; i++)
-				{
-					MemoryByte tmp = new MemoryByte();
-					tmp.setValue((byte)0);
-					tmp.setWritable(false);
-					tmp.setReadable(false);
-					tmp.setEndianessKnown(false);
-					memoryBuffer[i] = tmp;
-				}
-			}
-		}
-		catch (DebugException e)
-		{
-			memoryBuffer = makeDummyContent(numberOfLines);
-			
-			// finish creating the content provider before throwing an event
-			error = true; 
-			dbgEvt = e;
-		}
-		catch (Throwable e)
-		{
-			// catch all errors from this process just to be safe
-			memoryBuffer = makeDummyContent(numberOfLines);
-			
-			// finish creating the content provider before throwing an event
-			error = true; 
-			dbgEvt = new DebugException(DebugUIPlugin.newErrorStatus(e.getMessage(), 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++)
-			{
-				MemoryByte mb = new MemoryByte();
-				mb.setReadable(false);
-				mb.setWritable(false);
-				mb.setEndianessKnown(false);
-				newBuffer.add(mb);
-			}
-			
-			memoryBuffer = (MemoryByte[])newBuffer.toArray(new MemoryByte[newBuffer.size()]);
-			
-		}
-		
-		// clear line cache
-		if (!lineCache.isEmpty())
-		{
-			lineCache.clear();
-		}
-		String address = startingAddress.toString(16);
-		// save address of the top of buffer
-		fBufferTopAddress = startingAddress;
-		
-		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 (fInput.getMemoryBlock() instanceof IMemoryBlockExtension)
-		{
-			manageDelta = !((IMemoryBlockExtension)fInput.getMemoryBlock()).supportsChangeManagement();
-		}
-			
-		// put memory information into MemoryViewLine
-		organizeLines(numberOfLines, updateDelta, addressLength, memoryBuffer, paddedString, address, manageDelta);
-		
-		if (error){
-			throw dbgEvt;
-		}
-	}
-
-	private void organizeLines(long numberOfLines, boolean updateDelta, int addressLength, MemoryByte[] memoryBuffer, String paddedString, String address, boolean manageDelta) 
-	{
-		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$
-				}
-			}
-			int bytesPerLine = getTableRendering(fInput).getBytesPerLine();
-			MemoryByte[] memory = new MemoryByte[bytesPerLine];
-			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 * bytesPerLine;
-				j < i * bytesPerLine + bytesPerLine;
-				j++)
-			{
-				
-				byte changeFlag = memoryBuffer[j].getFlags();
-				if (manageDelta)
-				{
-					// turn off both change and known bits to make sure that
-					// the change bits returned by debug adapters do not take
-					// any effect
-					
-					changeFlag |= MemoryByte.HISTORY_KNOWN;
-					changeFlag ^= MemoryByte.HISTORY_KNOWN;
-					
-					changeFlag |= MemoryByte.CHANGED;
-					changeFlag ^= MemoryByte.CHANGED;
-				}
-				
-				MemoryByte newByteObj = new MemoryByte(memoryBuffer[j].getValue(), changeFlag);
-				memory[k] =  newByteObj;
-				k++;
-				
-				
-				if (!manageDelta)
-				{
-					// If the byte is marked as unknown, the line is not monitored
-					if (!memoryBuffer[j].isHistoryKnown())
-					{
-						isMonitored = false;
-					}
-				}
-			}
-			
-			TableRenderingLine newLine = new TableRenderingLine(tmpAddress, memory, lineCache.size(), paddedString);
-			
-			TableRenderingLine oldLine = (TableRenderingLine)contentCache.get(newLine.getAddress());
-			
-			if (manageDelta)
-			{
-				if (oldLine != null)
-					newLine.isMonitored = true;
-				else
-					newLine.isMonitored = false;
-			}
-			else
-			{
-				// check the byte for information
-				newLine.isMonitored = isMonitored;
-			}
-			
-			// calculate delta info for the memory view line
-			if (manageDelta && !getTableRendering(fInput).isDisplayingError())
-			{
-				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);
-						}
-					}
-				}
-			}
-			else if (manageDelta && getTableRendering(fInput).isDisplayingError())
-			{
-				// show as unmonitored if the view tab is previoulsy displaying error
-				newLine.isMonitored = false;
-			}
-			lineCache.add(newLine);
-			
-			
-			// increment row address
-			BigInteger bigInt = new BigInteger(address, 16);
-			fBufferEndAddress = bigInt;
-			int addressableUnit = getTableRendering(fInput).getBytesPerLine()/getTableRendering(fInput).getAddressableSize();
-			address = bigInt.add(BigInteger.valueOf(addressableUnit)).toString(16);
-		}
-	}
-	
-	/**
-	 * @param numberOfLines
-	 * @return an array of dummy MemoryByte
-	 */
-	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)(getTableRendering(fInput).getBytesPerLine() * numberOfLines);
-		memoryBuffer = new MemoryByte[numBytes];
-		
-		for (int i=0; i<memoryBuffer.length; i++){
-			memoryBuffer[i] = new MemoryByte();
-			memoryBuffer[i].setValue((byte)0);
-			memoryBuffer[i].setWritable(false);
-			memoryBuffer[i].setReadable(false);
-			memoryBuffer[i].setEndianessKnown(false);
-		}
-		return memoryBuffer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.views.BasicDebugViewContentProvider#doHandleDebugEvent(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected void doHandleDebugEvent(DebugEvent event) {
-		
-		if (getTableRendering(fInput).isVisible())
-		{
-			// only do this if it's visible
-			// still need to clear content cache if the rendering
-			// is not visible
-			if (isUpdateManagedByMB())
-				return;
-		}
-		
-		// do nothing if the debug event did not come from a debug element comes from non-debug element
-		if (!(event.getSource() instanceof IDebugElement))
-			return;
-		
-		// do not try to recover if the content input has not been created
-		if (fInput == null)
-			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() == fInput.getMemoryBlock())
-		{
-			if (event.getDetail() == DebugEvent.STATE){
-				getTableRendering(fInput).updateLabels();
-			}
-			else
-			{	
-				updateContent();
-			}
-		}
-		
-		// if the suspend evnet happens from the debug target that the 
-		// memory block belongs to
-		if (event.getKind() == DebugEvent.SUSPEND && src.getDebugTarget() == fInput.getMemoryBlock().getDebugTarget())
-		{	
-			updateContent();
-		}
-
-	}
-	
-	/**
-	 * 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 rendering is not visible
-	 */
-	public void updateContent()
-	{
-		IDebugTarget dt = fInput.getMemoryBlock().getDebugTarget();
-		
-		// no need to update if debug target is disconnected or terminated
-		if (dt.isDisconnected() || dt.isTerminated())
-		{
-			return;
-		}
-		
-		takeContentSnapshot();
-		
-		//do not handle event if the rendering is not visible
-		if (!getTableRendering(fInput).isVisible())
-			 return;
-		
-		getTableRendering(fInput).refresh();
-		
-	}
-	
-	/**
-	 *  Take a snapshot on the content, marking the lines as monitored
-	 */
-	public void takeContentSnapshot()
-	{	
-		// cache content before getting new ones
-		TableRenderingLine[] lines =(TableRenderingLine[]) lineCache.toArray(new TableRenderingLine[lineCache.size()]);
-		fContentCacheInBytes = convertLinesToBytes(lines);
-		fContentCacheStartAddress = lines[0].getAddress();
-		
-		if (contentCache != null)
-		{
-			contentCache.clear();
-		}
-		
-		//do not handle event if the rendering is not visible
-		if (!getTableRendering(fInput).isVisible())
-			 return;
-		
-		// use existing lines as cache is the rendering is not currently displaying
-		// error.  Otherwise, leave contentCache empty as we do not have updated
-		// content.
-		if (!getTableRendering(fInput).isDisplayingError())
-		{
-			for (int i=0; i<lines.length; i++)
-			{
-				contentCache.put(lines[i].getAddress(), lines[i]);
-				lines[i].isMonitored = 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();
-	}
-
-	/**
-	 * @return buffer's top address
-	 */
-	public BigInteger getBufferTopAddress()
-	{
-		return fBufferTopAddress;
-	}
-	
-	public BigInteger getBufferEndAddress()
-	{
-		return fBufferEndAddress;
-	}
-	
-	/**
-	 * Calculate address size of the given address
-	 * @param address
-	 * @return size of address from the debuggee
-	 */
-	public int getAddressSize(BigInteger address) throws DebugException
-	{
-		// calculate address size
-		 String adjustedAddress = address.toString(16);
-		
-		 int addressSize = 0;
-		 if (fInput.getMemoryBlock() instanceof IMemoryBlockExtension)
-		 {
-			 addressSize = ((IMemoryBlockExtension)fInput.getMemoryBlock()).getAddressSize();
-		 }
-		
-		 // handle IMemoryBlock and invalid address size returned by IMemoryBlockExtension
-		 if (addressSize <= 0)
-		 {
-			 if (adjustedAddress.length() > 8)
-			 {
-				 addressSize = 8;
-			 }
-			 else
-			 {
-				 addressSize = 4;
-			 }			
-		 }		
-		 
-		 return addressSize;
-	}
-	
-	/**
-	 * @return base address of memory block
-	 */
-	public BigInteger getContentBaseAddress()
-	{
-		return fInput.getContentBaseAddress(); 
-	}
-	
-	/**
-	 * Clear all delta information in the lines
-	 */
-	public void resetDeltas()
-	{
-		Enumeration enumeration = contentCache.elements();
-		
-		while (enumeration.hasMoreElements())
-		{
-			TableRenderingLine line = (TableRenderingLine)enumeration.nextElement();
-			line.unmarkDeltas();
-		}
-	}
-	
-	/**
-	 * Check if address is out of buffered range
-	 * @param address
-	 * @return true if address is out of bufferred range, false otherwise
-	 */
-	public boolean isAddressOutOfRange(BigInteger address)
-	{
-		if (lineCache != null)
-		{
-			TableRenderingLine first = (TableRenderingLine)lineCache.firstElement();
-			TableRenderingLine last = (TableRenderingLine) lineCache.lastElement();
-			
-			if (first == null ||last == null)
-				return true;
-			
-			BigInteger startAddress = new BigInteger(first.getAddress(), 16);
-			BigInteger lastAddress = new BigInteger(last.getAddress(), 16);
-			int addressableUnit = getTableRendering(fInput).getAddressableUnitPerLine();
-			lastAddress = lastAddress.add(BigInteger.valueOf(addressableUnit)).subtract(BigInteger.valueOf(1));
-			
-			if (startAddress.compareTo(address) <= 0 &&
-				lastAddress.compareTo(address) >= 0)
-			{
-				return false;
-			}
-			return true;
-		}
-		return true;
-	}
-	
-	public void clearContentCache()
-	{
-		fContentCacheInBytes = new MemoryByte[0];
-		fContentCacheStartAddress = null;
-		contentCache.clear();
-	}
-	
-	/**
-	 * @return if the memory block would manage its own update.
-	 */
-	private boolean isUpdateManagedByMB()
-	{
-		IMemoryBlock memoryBlock = getMemoryBlock();
-		
-		IMemoryRenderingUpdater managedMB = null;
-		if (memoryBlock instanceof IMemoryRenderingUpdater)
-		{
-			managedMB = (IMemoryRenderingUpdater)memoryBlock;
-		}
-		
-		if (managedMB == null)
-			managedMB = (IMemoryRenderingUpdater)memoryBlock.getAdapter(IMemoryRenderingUpdater.class);
-		
-		// do not handle event if if the memory block wants to do its
-		// own update
-		if (managedMB != null && managedMB.supportsManagedUpdate(getTableRendering(fInput)))
-			return true;
-		
-		return false;
-	}
-	
-	public boolean isDynamicLoad()
-	{
-		return fDynamicLoad;
-	}
-	
-	private void initializeDynamicLoad()
-	{
-		fDynamicLoad = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
-	}
-	
-	public void setDynamicLoad(boolean dynamicLoad)
-	{
-		fDynamicLoad = dynamicLoad;
-	}
-	
-	private void reorganizeLines(Vector lines, int numBytesPerLine) throws DebugException
-	{
-		if (lines == null || lines.isEmpty())
-			return;
-		
-		Object[] objs = lines.toArray();
-		
-		if (objs.length > 0)
-		{
-			TableRenderingLine[] renderingLines = (TableRenderingLine[])lines.toArray(new TableRenderingLine[lines.size()]);
-			MemoryByte[] buffer = convertLinesToBytes(renderingLines);
-			BigInteger lineAddress = new BigInteger(renderingLines[0].getAddress(), 16);
-			int numberOfLines = buffer.length / numBytesPerLine;
-			boolean updateDelta = false;
-			int addressLength = getAddressSize(lineAddress) * IInternalDebugUIConstants.CHAR_PER_BYTE;
-			MemoryByte[] memoryBuffer = buffer;
-			String address =renderingLines[0].getAddress();
-			String paddedString = DebugUITools.getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-			
-			// set to false to preserve information delta information 
-			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 (fInput.getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				manageDelta = !((IMemoryBlockExtension)fInput.getMemoryBlock()).supportsChangeManagement();
-			}
-			lineCache.clear();
-			
-			organizeLines(numberOfLines, updateDelta, addressLength, memoryBuffer, paddedString, address, manageDelta);
-		}
-	}
-	
-	private void reorganizeContentCache(int bytesPerLine)
-	{
-		// if content cache is empty, do nothing
-		if (contentCache == null || contentCache.isEmpty()
-			|| fContentCacheInBytes.length == 0 || fContentCacheStartAddress == null)
-			return;
-		
-		MemoryByte[] bytes = fContentCacheInBytes;
-		TableRenderingLine[] convertedLines = convertBytesToLines(bytes, bytesPerLine, new BigInteger(fContentCacheStartAddress, 16));
-		
-		contentCache.clear();
-		for (int i=0; i<convertedLines.length; i++)
-		{
-			contentCache.put(convertedLines[i].getAddress(), convertedLines[i]);
-		}
-	}
-	
-	private MemoryByte[] convertLinesToBytes(TableRenderingLine[] lines)
-	{
-		// convert the lines back to a buffer of MemoryByte
-		TableRenderingLine temp = lines[0];
-		int lineLength = temp.getLength();
-
-		MemoryByte[] buffer = new MemoryByte[lines.length * lineLength];
-		for (int i=0; i<lines.length; i++)
-		{
-			TableRenderingLine line = lines[i];
-			MemoryByte[] bytes = line.getBytes();
-			System.arraycopy(bytes, 0, buffer, i*lineLength, lineLength);
-		}
-		return buffer;
-	}
-	
-	private TableRenderingLine[] convertBytesToLines(MemoryByte[] bytes, int bytesPerLine, BigInteger startAddress)
-	{
-		int numOfLines = bytes.length / bytesPerLine;
-		String address = startAddress.toString(16);
-		int addressLength;
-		try {
-			addressLength = getAddressSize(startAddress) * IInternalDebugUIConstants.CHAR_PER_BYTE;
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-			addressLength = 4 * IInternalDebugUIConstants.CHAR_PER_BYTE;
-		}
-		ArrayList lines = new ArrayList();
-		String paddedString = DebugUITools.getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-		
-		for (int i=0; i<numOfLines; i++)
-		{
-			MemoryByte[] temp = new MemoryByte[bytesPerLine];
-			System.arraycopy(bytes, i*bytesPerLine, temp, 0, bytesPerLine);
-			
-			String tmpAddress = address.toUpperCase();
-			if (tmpAddress.length() < addressLength)
-			{
-				for (int j = 0; tmpAddress.length() < addressLength; j++)
-				{
-					tmpAddress = "0" + tmpAddress; //$NON-NLS-1$
-				}
-			}
-			
-			TableRenderingLine newLine = new TableRenderingLine(tmpAddress, temp, lines.size(), paddedString);
-			lines.add(newLine);
-			
-			// increment row address
-			BigInteger bigInt = new BigInteger(address, 16);
-			fBufferEndAddress = bigInt;
-			int addressableUnit = getTableRendering(fInput).getBytesPerLine()/getTableRendering(fInput).getAddressableSize();
-			address = bigInt.add(BigInteger.valueOf(addressableUnit)).toString(16);
-		}
-		
-		return (TableRenderingLine[])lines.toArray(new TableRenderingLine[lines.size()]);
-	}
-	
-	private AbstractTableRendering getTableRendering(TableRenderingContentInput input)
-	{
-		return (AbstractTableRendering)input.getAdapter(AbstractTableRendering.class);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java
deleted file mode 100644
index 009de77..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.memory.AbstractTableRendering;
-import org.eclipse.debug.ui.memory.IMemoryBlockTablePresentation;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @since 3.0
- */
-public class TableRenderingLabelProvider extends AbstractTableRenderingLabelProvider implements IColorProvider {
-	
-	private IMemoryBlockTablePresentation fTablePresentation;
-
-	/**
-	 * Constructor for MemoryViewLabelProvider
-	 */
-	public TableRenderingLabelProvider() {
-		super();
-	}
-	
-	public TableRenderingLabelProvider(AbstractTableRendering rendering){
-		super(rendering);
-		fTablePresentation = (IMemoryBlockTablePresentation)rendering.getAdapter(IMemoryBlockTablePresentation.class);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		if (fTablePresentation != null) {
-			fTablePresentation.dispose();
-			fTablePresentation = null;
-		}
-		super.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
-	 */
-	public Color getForeground(Object element) {
-		if (element instanceof TableRenderingLine)
-		{
-			TableRenderingLine line = (TableRenderingLine)element;
-			
-			if (line.isMonitored) {
-				return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR);
-			}
-			return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR);
-		}
-		return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
-	 */
-	public Color getBackground(Object element) {
-		
-		return null;
-	}
-	
-	/* (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 (fTablePresentation != null)
-			{	
-				String address = ((TableRenderingLine)element).getAddress();
-				
-				// get address presentation
-				String tempLabel = fTablePresentation.getRowLabel(fRendering.getMemoryBlock(), new BigInteger(address, 16));
-				
-				if (tempLabel != null)
-					return tempLabel;
-			}
-			return label;
-		}
-		return label;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java
deleted file mode 100644
index 5fe5fbd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.ui.memory.AbstractTableRendering;
-import org.eclipse.debug.ui.memory.MemoryRenderingElement;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.ITableFontProvider;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * This label provider is used by AbstractTableRendering if clients decide to
- * provide customized decorations in the rendering. Otherwise the table
- * rendering uses TableRenderingLabelProvider.
- * 
- */
-public class TableRenderingLabelProviderEx extends TableRenderingLabelProvider implements ITableColorProvider, ITableFontProvider {
-
-	private IFontProvider fFontProvider;
-	private ILabelProvider fLabelProvider;
-	private IColorProvider fColorProvider;
-
-	public TableRenderingLabelProviderEx(AbstractTableRendering rendering) {
-		super(rendering);
-		fLabelProvider = (ILabelProvider) rendering.getAdapter(ILabelProvider.class);
-		fColorProvider = (IColorProvider) rendering.getAdapter(IColorProvider.class);
-		fFontProvider = (IFontProvider) rendering.getAdapter(IFontProvider.class);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		if (fFontProvider != null) {
-			fFontProvider = null;
-		}
-		if (fColorProvider != null) {
-			fColorProvider = null;
-		}
-		if (fLabelProvider != null) {
-			fLabelProvider.dispose();
-			fLabelProvider = null;
-		}
-		super.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableColorProvider#getBackground(java.lang.Object, int)
-	 */
-	public Color getBackground(Object element, int columnIndex) {
-		if (fColorProvider != null && columnIndex > 0) {
-			MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex);
-			if (renderingElement != null) {
-				Color color = fColorProvider.getBackground(renderingElement);
-				if (color != null)
-					return color;
-			}
-		}
-		return super.getBackground(element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableColorProvider#getForeground(java.lang.Object, int)
-	 */
-	public Color getForeground(Object element, int columnIndex) {
-		if (fColorProvider != null && columnIndex > 0) {
-			MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex);
-			if (renderingElement != null) {
-				Color color = fColorProvider.getForeground(renderingElement);
-				if (color != null)
-					return color;
-			}			
-		}
-		return super.getForeground(element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (fLabelProvider != null && columnIndex > 0) {
-			MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex);
-			if (renderingElement != null) {
-				Image image = fLabelProvider.getImage(renderingElement);
-				if (image != null)
-					return image;
-			}
-		}
-		return super.getColumnImage(element, columnIndex);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableFontProvider#getFont(java.lang.Object, int)
-	 */
-	public Font getFont(Object element, int columnIndex) {
-		if (fFontProvider != null && columnIndex > 0) {
-			MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex);
-			if (renderingElement != null) {
-				Font font = fFontProvider.getFont(renderingElement);
-				if (font != null)
-					return font;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns a memory rendering element corresponding to the given element
-	 * or <code>null</code> if none.
-	 *  
-	 * @param element element to be rendered
-	 * @param columnIndex column index at which to render
-	 * @return memory rendering element or <code>null</code>
-	 */
-	private MemoryRenderingElement getMemoryRenderingElement(Object element, int columnIndex) {
-		if (element instanceof TableRenderingLine) {
-			TableRenderingLine line = (TableRenderingLine) element;
-			BigInteger lineAddress = new BigInteger(line.getAddress(), 16);
-			int offset = (columnIndex - 1) * fRendering.getBytesPerColumn();
-			if (offset < fRendering.getBytesPerLine() && (offset + fRendering.getBytesPerColumn()) <= fRendering.getBytesPerLine()) {
-				return getMemoryRenderingElement(line, lineAddress, offset);
-			}
-		}
-		return null;
-	}
-	
-	private MemoryRenderingElement getMemoryRenderingElement(TableRenderingLine line, BigInteger lineAddress, int offset) {
-		BigInteger cellAddress = lineAddress.add(BigInteger.valueOf(offset));
-		MemoryByte[] bytes = line.getBytes(offset, offset
-				+ fRendering.getBytesPerColumn());
-		// make a copy to ensure that the memory bytes are not overwritten
-		// by clients
-		MemoryByte[] copy = new MemoryByte[bytes.length];
-		System.arraycopy(bytes, 0, copy, 0, bytes.length);
-		MemoryRenderingElement renderingElement = new MemoryRenderingElement(
-				fRendering, cellAddress, copy);
-		return renderingElement;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java
deleted file mode 100644
index 4ab7cbb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.model.MemoryByte;
-
-/**
- * @since 3.0
- */
-
-public class TableRenderingLine extends PlatformObject {
-	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 TableRenderingLine(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];
-		}
-		
-		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 = HexRendering.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 invalid
-				if (!fBytes[i].isReadable())
-				{
-					if (paddedString == null)
-					{
-						paddedString = fPaddedString;
-						
-						if (paddedString.length() > TableRenderingLine.numCharPerByteForHex)
-							paddedString = paddedString.substring(0, TableRenderingLine.numCharPerByteForHex);
-					}
-					buffer.replace(bufferCounter, bufferCounter+TableRenderingLine.numCharPerByteForHex, paddedString);		
-				}
-				bufferCounter += TableRenderingLine.numCharPerByteForHex;
-			}
-			
-			fStrRep = buffer.toString();
-		}
-		
-		return fStrRep;
-	}
-
-	/**
-	 * @param start
-	 * @param end
-	 * @return is the bytes between start and end are all valid
-	 */
-	public boolean isAvailable(int start, int end) {
-		boolean available = true;
-		for (int i=start; i<end; i++)
-		{	
-			if (!fBytes[i].isReadable())
-			{	
-				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].getValue();
-			}			
-		}
-		
-		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].getValue();
-			j++;
-		}
-		return ret;
-	}
-	
-	public void markDeltas(TableRenderingLine 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()))
-		{
-			for (int i=0; i<fBytes.length; i++)
-			{
-				// set history as known if we have old data for this line
-				fBytes[i].setHistoryKnown(true);
-			}
-			return;
-		}
-		
-		MemoryByte[] oldMemory = oldData.getBytes();
-		
-		if (oldMemory.length != fBytes.length)
-			return;
-			
-		for (int i=0; i<fBytes.length; i++)
-		{
-			// turn on known bit
-			fBytes[i].setHistoryKnown(true);
-			
-			if ((fBytes[i].getFlags() & MemoryByte.READABLE) != (oldMemory[i].getFlags() & MemoryByte.READABLE))
-			{
-				fBytes[i].setChanged(true);
-				continue;
-			}
-				
-			if (fBytes[i].isReadable() && oldMemory[i].isReadable())
-			{
-				if (fBytes[i].getValue() != oldMemory[i].getValue())
-				{
-					fBytes[i].setChanged(true);
-				}
-			}
-		}
-	}
-	
-	public void copyDeltas(TableRenderingLine 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].setFlags(oldMemory[i].getFlags());
-		}		
-	}
-	
-	public boolean isLineChanged(TableRenderingLine 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;
-		}
-		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)
-	{	
-		boolean allBytesKnown = true;
-		boolean allBytesUnchanged = true;
-		
-		for (int i=offset; i<=endOffset; i++)
-		{
-			if (!fBytes[i].isHistoryKnown())
-				allBytesKnown = false;
-			if (fBytes[i].isChanged())
-				allBytesUnchanged = false;
-		}
-		
-		if (allBytesKnown && !allBytesUnchanged) {
-			return true;
-		}
-		return false;
-	}
-	
-	public void unmarkDeltas()
-	{
-		for (int i=0; i<fBytes.length; i++)
-		{
-			// unset the change bit
-			if (fBytes[i].isChanged())
-				fBytes[i].setChanged(false);
-		}
-	}
-	
-	/* (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;
-	}
-	
-	public int getLength()
-	{
-		return fBytes.length;
-	}
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java
deleted file mode 100644
index d7c5a40..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.Assert;
-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.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.memory.provisional.AbstractAsyncTableRendering;
-import org.eclipse.debug.internal.ui.memory.provisional.MemoryViewPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTableViewer;
-import org.eclipse.debug.internal.ui.viewers.ModelNode;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-
-
-public class TableRenderingModel extends AbstractVirtualContentTableModel
-		implements IContentChangeComputer {
-
-
-	private Hashtable fCache;
-	private Vector fOrderedCache;			// needed to re-organize cache
-	
-	private boolean fMBSupportsChangeManagement;
-	private IMemoryBlock fMemoryBlock;
-
-	class SupportsChangeMgmtJob extends Job {
-		
-		SupportsChangeMgmtJob()
-		{
-			super("Support Change Management"); //$NON-NLS-1$
-			setSystem(true);
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			IMemoryBlock mb = getMemoryBlock();
-			if (mb instanceof IMemoryBlockExtension)
-			{
-				IMemoryBlockExtension mbExt = (IMemoryBlockExtension)mb;
-				fMBSupportsChangeManagement = mbExt.supportsChangeManagement();
-			}
-			return Status.OK_STATUS;
-		}
-		
-	}
-	
-	
-	public TableRenderingModel(AsynchronousTableViewer viewer) {
-		super(viewer);
-		fCache = new Hashtable();
-		fOrderedCache = new Vector();
-	}
-	
-	public int indexOfKey(Object key)
-	{
-		if (key instanceof BigInteger)
-		{
-			BigInteger address = (BigInteger)key;
-			Object items[] = getElements();
-			
-			for (int i=0; i<items.length; i++){
-				if (items[i] != null && items[i] instanceof MemorySegment)
-				{	
-					MemorySegment line = (MemorySegment)items[i];
-					if (line.containsAddress(address))
-						return i;
-				}
-			}
-		}
-		
-		return -1;
-	}
-	
-	public int columnOf(Object element, Object key)
-	{
-		if (element instanceof MemorySegment && key instanceof BigInteger)
-		{
-			BigInteger address = (BigInteger)key;
-			MemorySegment line = (MemorySegment)element;
-			if (line.containsAddress(address))
-			{
-				if (getAddressableUnitsPerColumn() > 0)
-				{
-					BigInteger offset = address.subtract(line.getAddress());
-					
-					// locate column
-					int colAddressableUnit = getAddressableUnitsPerColumn();
-					int col = ((offset.intValue()/colAddressableUnit)+1);
-					
-					if (col == 0)
-						col = 1;
-					
-					return col;
-				}
-			}
-		}
-		
-		return -1;
-	}
-	
-	public Object getKey(int idx)
-	{
-		Object elmt = getElement(idx);
-		if (elmt instanceof MemorySegment)
-		{
-			return ((MemorySegment)elmt).getAddress();
-		}
-	
-		return null;
-	}
-
-	public Object getKey(Object element) {
-		int idx = indexOfElement(element);
-		if (idx >= 0)
-		{
-			return getKey(idx);
-		}
-		return null;
-	}
-	
-	public Object getKey(int idx, int col) {
-		Object element = getElement(idx);
-		if (element != null && element instanceof MemorySegment)
-		{
-			MemorySegment segment = (MemorySegment)element;
-			BigInteger rowAddress = segment.getAddress();
-			
-			int offset;
-			if (col > 0)
-			{	
-				// 	get address offset
-				int addressableUnit = getAddressableUnitsPerColumn();
-				offset = (col-1) * addressableUnit;
-			}
-			else
-			{
-				offset = 0;
-			}
-			return rowAddress.add(BigInteger.valueOf(offset));
-		}
-		return null;
-	}
-	
-	private int getAddressableUnitsPerColumn()
-	{
-		AsynchronousTableViewer viewer = getTableViewer();
-		if (viewer.getPresentationContext() instanceof MemoryViewPresentationContext)
-		{
-			MemoryViewPresentationContext context = (MemoryViewPresentationContext)viewer.getPresentationContext();
-			if (getTableRendering(context)!= null)
-			{
-				return getTableRendering(context).getAddressableUnitPerColumn();
-			}
-		}
-		return -1;
-	}
-
-	public void cache(Object[] elements) {
-		for (int i=0; i<elements.length; i++)
-		{
-			Object obj = elements[i];
-			if (obj instanceof MemorySegment)
-			{
-				cache(((MemorySegment)obj).getAddress(), obj);
-			}
-		}
-		
-	}
-	
-	private void cache(Object key, Object element)
-	{
-		fCache.put(key, element);
-		fOrderedCache.add(element);
-	}
-
-	public Object[] compare(Object[] newElements) {
-		
-		if (fCache.isEmpty())
-			return newElements;
-		
-		for (int j=0; j<newElements.length; j++)
-		{
-			Object obj = newElements[j];
-			if (obj instanceof MemorySegment)
-			{
-				MemorySegment newSegment = (MemorySegment)obj;
-				MemorySegment oldSegment = (MemorySegment)fCache.get(newSegment.getAddress());
-
-				if (oldSegment != null)
-				{
-					if (oldSegment.getNumAddressableUnits() == newSegment.getNumAddressableUnits())
-					{
-						MemoryByte[] newBytes = newSegment.getBytes();
-						MemoryByte[] oldBytes = oldSegment.getBytes();
-						
-						for (int i=0; i<newBytes.length; i++)
-						{
-							newBytes[i].setHistoryKnown(true);
-							
-							if (newBytes[i].isReadable() != oldBytes[i].isReadable())
-							{
-								newBytes[i].setChanged(true);
-								continue;
-							}			
-
-							if (newBytes[i].isReadable() && oldBytes[i].isReadable() && 
-								(newBytes[i].getValue() != oldBytes[i].getValue()))
-								newBytes[i].setChanged(true);
-						}
-					}
-				}
-			}
-		}		
-		return newElements;
-	}
-	
-	public void clearCache()
-	{
-		fCache.clear();
-		fOrderedCache.clear();
-	}
-
-	public boolean isEmpty() {
-		return fCache.isEmpty();
-	}
-
-	public void handleViewerChanged() {
-		// viewer has changed, content manager needs to re-organize the cache
-		rebuildCache();
-		rebuildContent();
-	}
-	
-	private void rebuildCache()
-	{
-		if (isEmpty())
-			return;
-		
-		MemoryViewPresentationContext context = (MemoryViewPresentationContext)getTableViewer().getPresentationContext();
-		AbstractAsyncTableRendering rendering = getTableRendering(context);
-		
-		if (rendering == null)
-			return;
-		
-		ArrayList segments = new ArrayList(); 
-		Enumeration enumeration = fOrderedCache.elements();
-		
-		BigInteger address = ((MemorySegment)fOrderedCache.get(0)).getAddress();
-		while (enumeration.hasMoreElements())
-		{
-			Object element = enumeration.nextElement();
-			if (element instanceof MemorySegment)
-			{
-				
-				segments.add(element);
-			}
-		}
-		
-		MemoryByte[] bytes = convertSegmentsToBytes((MemorySegment[])segments.toArray(new MemorySegment[0]));
-		
-		int bytesPerLine = rendering.getBytesPerLine();
-		int numAddressableUnitPerLine = rendering.getAddressableUnitPerLine();
-		
-		int addressableSize = rendering.getAddressableSize();
-		
-		clearCache();
-		
-		TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)rendering.getAdapter(TableRenderingContentDescriptor.class);
-		boolean alignAddress = true;
-		if (descriptor != null && !descriptor.isAlignAddressToBoundary())
-		{
-			alignAddress = descriptor.isAlignAddressToBoundary();
-		}
-		
-		MemorySegment[] newSegments = convertMemoryBytesToSegments(address, bytes, bytesPerLine, numAddressableUnitPerLine, addressableSize, alignAddress);
-		for (int i=0; i<newSegments.length; i++)
-		{
-			cache(newSegments[i].getAddress(), newSegments[i]);
-		}
-	}
-	
-	private void rebuildContent()
-	{
-		MemoryViewPresentationContext context = (MemoryViewPresentationContext)getTableViewer().getPresentationContext();
-		AbstractAsyncTableRendering rendering = getTableRendering(context);
-		
-		if (rendering == null)
-			return;
-		
-		ArrayList segments = new ArrayList();
-		Object[] elements = getElements();
-		for (int i=0; i<elements.length; i++)
-		{
-			Object element = elements[i];
-			if (element instanceof MemorySegment)
-			{
-				segments.add(element);
-			}
-		}
-		
-		MemoryByte[] bytes = convertSegmentsToBytes((MemorySegment[])segments.toArray(new MemorySegment[segments.size()]));
-		
-		int bytesPerLine = rendering.getBytesPerLine();
-		int numAddressableUnitPerLine = rendering.getAddressableUnitPerLine();
-		BigInteger address = (BigInteger)getKey(0);
-
-		int addressableSize = rendering.getAddressableSize();
-		
-		TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)rendering.getAdapter(TableRenderingContentDescriptor.class);
-		boolean alignAddress = true;
-		if (descriptor != null && !descriptor.isAlignAddressToBoundary())
-		{
-			alignAddress = descriptor.isAlignAddressToBoundary();
-		}
-		
-		MemorySegment[] newSegments = convertMemoryBytesToSegments(address, bytes, bytesPerLine, numAddressableUnitPerLine, addressableSize, alignAddress);
-		remove(getElements());
-		add(newSegments);
-	}
-
-	
-	private MemoryByte[] convertSegmentsToBytes(MemorySegment[] segments)
-	{
-		ArrayList toReturn = new ArrayList();
-		for (int i=0; i<segments.length; i++)
-		{
-			MemoryByte[] temp = segments[i].getBytes();
-			for (int j=0; j<temp.length; j++)
-			{
-				toReturn.add(temp[j]);
-			}
-		}
-		return (MemoryByte[])toReturn.toArray(new MemoryByte[0]);
-	}
-	
-	private MemorySegment[] convertMemoryBytesToSegments(BigInteger address, MemoryByte[] bytes, int bytesPerLine, int numAddressableUnitPerLine, int addressableSize, boolean alignAddress) {
-		
-		Assert.isTrue(bytesPerLine > 0);
-		Assert.isTrue(numAddressableUnitPerLine > 0);
-		
-		ArrayList segments = new ArrayList();
-		MemoryByte[] temp = bytes;
-		
-		if (alignAddress)
-		{
-			BigInteger alignedAddress = MemoryViewUtil.alignToBoundary(address, numAddressableUnitPerLine);
-			
-			// also check that the address is properly aligned and prepend bytes if need to
-			if (!address.subtract(alignedAddress).equals(BigInteger.ZERO))
-			{
-				BigInteger unitsToSetBack = address.subtract(alignedAddress);
-				BigInteger tempAddress = address.subtract(unitsToSetBack);
-				// only do this if the resulted address >= 0
-				// do not want to have negative addresses
-				if (tempAddress.compareTo(BigInteger.ZERO) >= 0)
-				{
-					address = alignedAddress;
-					int numBytesNeeded = unitsToSetBack.intValue() * addressableSize;
-					temp = new MemoryByte[bytes.length + numBytesNeeded];
-					
-					for (int i=0; i<numBytesNeeded; i++)
-					{
-						temp[i] = new MemoryByte();
-						temp[i].setReadable(false);
-						temp[i].setWritable(false);
-						temp[i].setEndianessKnown(false);	
-					}	
-					
-					System.arraycopy(bytes, 0, temp, numBytesNeeded, bytes.length);
-					bytes = temp;
-				}
-			}
-		}
-		
-		if (bytes.length % bytesPerLine != 0)
-		{
-			int numBytesNeeded = bytesPerLine - (bytes.length % bytesPerLine);
-			temp = new MemoryByte[bytes.length + numBytesNeeded];
-			System.arraycopy(bytes, 0, temp, 0, bytes.length);
-			
-			for (int i=bytes.length; i<temp.length; i++)
-			{
-				temp[i] = new MemoryByte();
-				temp[i].setReadable(false);
-				temp[i].setWritable(false);
-				temp[i].setEndianessKnown(false);	
-			}	
-			bytes = temp;
-		}
-		
-		int idx = 0;
-		while (idx < bytes.length && (idx + bytesPerLine)<= bytes.length)
-		{
-			MemoryByte[] newBytes = new MemoryByte[bytesPerLine];
-			System.arraycopy(bytes, idx, newBytes, 0, bytesPerLine);
-			
-			MemorySegment segment = new MemorySegment(address, newBytes, numAddressableUnitPerLine);
-			segments.add(segment);
-			
-			address = address.add(BigInteger.valueOf(numAddressableUnitPerLine));
-			idx += bytesPerLine;
-		}
-		
-		return (MemorySegment[])segments.toArray(new MemorySegment[segments.size()]);
-	}
-	
-	private AsynchronousTableViewer getTableViewer()
-	{
-		return (AsynchronousTableViewer)getViewer();
-	}
-
-	protected void setChildren(ModelNode parentNode, List kids) {
-		
-		if (computeChanges())
-		{
-			Object[] newContent = compare(kids.toArray());
-			ArrayList newList = new ArrayList();
-			for (int i=0; i<newContent.length; i++)
-			{
-				newList.add(newContent[i]);
-			}
-			super.setChildren(parentNode, newList);
-		}
-		else
-			super.setChildren(parentNode, kids);
-	}
-	
-	private boolean computeChanges()
-	{ 
-		if (isEmpty())
-			return false;
-		
-		if (fMBSupportsChangeManagement)
-		{
-			return false;
-		}
-		
-		return true;
-	}
-	
-	private IMemoryBlock getMemoryBlock()
-	{
-		return fMemoryBlock;
-	}
-	
-
-	public void init(Object root) {
-		if (root instanceof IMemoryBlock)
-		{
-			fMemoryBlock = (IMemoryBlock)root;
-			new SupportsChangeMgmtJob().schedule();
-		}
-		super.init(root);
-	}
-	
-	private AbstractAsyncTableRendering getTableRendering(MemoryViewPresentationContext context)
-	{
-		IMemoryRendering memRendering = context.getRendering();
-		if (memRendering != null && memRendering instanceof AbstractAsyncTableRendering)
-		{
-			return (AbstractAsyncTableRendering)memRendering;
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java
deleted file mode 100644
index 43a2840..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-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;
-
-public class TableRenderingPrefAction extends ActionDelegate implements IViewActionDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IPreferencePage page = new TableRenderingPreferencePage(DebugUIMessages.TableRenderingPrefAction_0);
-		showPreferencePage("org.eclipse.debug.ui.tableRenderingPreferencepage", 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/views/memory/renderings/TableRenderingPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java
deleted file mode 100644
index ab9b9a0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-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.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.PreferencePage;
-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.Control;
-import org.eclipse.ui.PlatformUI;
-
-public class TableRenderingPreferencePage extends PreferencePage implements
-	IPropertyChangeListener{
-	
-	private BooleanFieldEditor fAutoLoadPref;
-	private IntegerFieldEditor fPageSizePref;
-	private Composite fBufferComposite;
-	
-	public TableRenderingPreferencePage(String title)
-	{
-		super(title);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".table_renderings_preference_page_context"); //$NON-NLS-1$
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData data = new GridData();
-		data.horizontalAlignment = SWT.FILL;
-		composite.setLayoutData(data);
-		
-		fAutoLoadPref = new BooleanFieldEditor(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM, DebugUIMessages.TableRenderingPreferencePage_1,  composite);
-		fAutoLoadPref.setPreferenceStore(getPreferenceStore());
-		fAutoLoadPref.load();
-		
-		fBufferComposite = new Composite(composite, SWT.NONE);
-		data = new GridData();
-		data.horizontalAlignment = SWT.FILL;
-		fBufferComposite.setLayoutData(data);
-		
-		fPageSizePref = new IntegerFieldEditor(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE, DebugUIMessages.TableRenderingPreferencePage_2, fBufferComposite);
-		fPageSizePref.setPreferenceStore(getPreferenceStore());
-		fPageSizePref.load();
-		
-		boolean autoLoad = getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
-		if (autoLoad)
-			fPageSizePref.setEnabled(false, fBufferComposite);
-		else
-			fPageSizePref.setEnabled(true, fBufferComposite);
-		
-		fAutoLoadPref.setPropertyChangeListener(this);
-		fPageSizePref.setPropertyChangeListener(this);
-		fPageSizePref.setValidRange(1, Integer.MAX_VALUE);
-		
-		return composite;
-	}
-
-	
-	public boolean performOk() {
-		fAutoLoadPref.store();
-		fPageSizePref.store();
-		return super.performOk();
-	}
-
-	protected void performDefaults() {
-		fAutoLoadPref.loadDefault();
-		fPageSizePref.loadDefault();
-		updatePageSizePref();
-		super.performDefaults();
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return DebugUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(FieldEditor.VALUE))
-		{
-			if (event.getSource().equals(fAutoLoadPref))
-			{
-				updatePageSizePref();
-				validatePageSize();
-			}
-		}
-		if (event.getProperty().equals(FieldEditor.VALUE))
-		{
-			if (event.getSource().equals(fPageSizePref))
-			{
-				validatePageSize();
-			}
-		}
-	}
-
-	private void updatePageSizePref() {
-		boolean autoLoad = fAutoLoadPref.getBooleanValue();
-		if (autoLoad)
-		{
-			fPageSizePref.setEnabled(false, fBufferComposite);
-		}
-		else
-		{
-			fPageSizePref.setEnabled(true, fBufferComposite);
-		}
-	}
-
-	private void validatePageSize() {
-		boolean autoLoad = fAutoLoadPref.getBooleanValue();
-		try {
-			int bufferSize = fPageSizePref.getIntValue();
-			if (!autoLoad && bufferSize < 1)
-			{
-				setValid(false);
-				setErrorMessage(DebugUIMessages.TableRenderingPreferencePage_3);
-			}
-			else
-			{
-				setValid(true);
-				setErrorMessage(null);
-				
-			}
-		} catch (NumberFormatException e) {
-			if (!autoLoad)
-			{
-				setValid(false);
-				setErrorMessage(DebugUIMessages.TableRenderingPreferencePage_4);
-			}
-		}
-	}
-
-	public void dispose() {
-
-		fAutoLoadPref.setPropertyChangeListener(null);
-		fPageSizePref.setPropertyChangeListener(null);
-		super.dispose();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java
deleted file mode 100644
index 0f17551..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-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.Label;
-import org.eclipse.ui.IWorkbenchPropertyPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-public class TableRenderingPropertiesPage extends PropertyPage implements
-		IWorkbenchPropertyPage {
-
-	public TableRenderingPropertiesPage() {
-		super();
-	}
-
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".TableRenderingPropertiesPage_context"); //$NON-NLS-1$
-		noDefaultAndApplyButton();
-		Composite composite = new Composite(parent, SWT.NONE);
-		if (getElement() instanceof AbstractBaseTableRendering)
-		{
-			AbstractBaseTableRendering rendering = (AbstractBaseTableRendering)getElement();
-			GridLayout compositeLayout = new GridLayout();
-			compositeLayout.numColumns = 2;
-			compositeLayout.makeColumnsEqualWidth = false;
-			composite.setLayout(compositeLayout);
-			
-			GridData comositeSpec= new GridData();
-			comositeSpec.grabExcessVerticalSpace= true;
-			comositeSpec.grabExcessHorizontalSpace= true;
-			comositeSpec.horizontalAlignment= GridData.FILL;
-			comositeSpec.verticalAlignment= GridData.CENTER;
-			composite.setLayoutData(comositeSpec);
-			
-			String label = rendering.getLabel();
-			if (label.startsWith("&&")) //$NON-NLS-1$
-				label = label.replaceFirst("&&", "&");  //$NON-NLS-1$//$NON-NLS-2$
-			addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_1, label);
-						
-			MemoryByte[] bytes = rendering.getSelectedAsBytes();
-			if (bytes.length > 0) {
-				
-				if (rendering.getSelectedAddress() != null)
-				{
-					String selectedAddress = "0x" + rendering.getSelectedAddress().toString(16).toUpperCase(); //$NON-NLS-1$
-					StringBuffer content = new StringBuffer(selectedAddress);
-					addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_2, content.toString());
-				}
-				
-				String length = String.valueOf(rendering.getAddressableUnitPerColumn()) + " " + DebugUIMessages.TableRenderingPropertiesPage_3; //$NON-NLS-1$
-				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_4, length);
-				
-				String selectedContent = rendering.getSelectedAsString();
-				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_5, selectedContent);
-				
-				int addressableSize = rendering.getAddressableSize() * 8;
-				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_6, String.valueOf(addressableSize) + " " + DebugUIMessages.TableRenderingPropertiesPage_8); //$NON-NLS-1$
-				
-				boolean endianessKnown = bytes[0].isEndianessKnown();
-				int endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-				if (endianessKnown)
-					endianess = bytes[0].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;		
-				
-				boolean allBytesKnown = bytes[0].isHistoryKnown();
-				boolean allBytesUnchanged = bytes[0].isChanged()?false:true;
-				
-				boolean allBytesReadable = bytes[0].isReadable();
-				boolean allBytesWritable = bytes[0].isWritable();
-				
-				if (bytes.length > 1)
-				{
-					for (int i=1; i<bytes.length; i++)
-					{
-						if (endianessKnown)
-						{
-							int byteEndianess = bytes[i].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;
-							if (endianess != RenderingsUtil.ENDIANESS_UNKNOWN && endianess != byteEndianess)
-								endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-						}
-						
-						if (!bytes[i].isHistoryKnown())
-							allBytesKnown = false;
-						if (bytes[i].isChanged())
-							allBytesUnchanged = false;
-						
-						if (!bytes[i].isReadable())
-							allBytesReadable = false;
-						
-						if (!bytes[i].isWritable())
-							allBytesWritable = false;
-					}
-				}
-				
-				boolean isChanged = allBytesKnown && !allBytesUnchanged;
-				if (allBytesKnown)
-					addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_9, String.valueOf(isChanged));
-				else
-					addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_10, DebugUIMessages.TableRenderingPropertiesPage_11);
-				
-				String dataEndian = DebugUIMessages.TableRenderingPropertiesPage_12;
-				if (endianessKnown)
-				{	
-					if (endianess == RenderingsUtil.BIG_ENDIAN)
-						dataEndian = DebugUIMessages.TableRenderingPropertiesPage_13;
-					else if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-						dataEndian = DebugUIMessages.TableRenderingPropertiesPage_14;
-					else
-						dataEndian = DebugUIMessages.TableRenderingPropertiesPage_15;
-				}
-				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_16, dataEndian);
-				
-				
-				if (rendering instanceof AbstractIntegerRendering)
-				{
-					
-					AbstractIntegerRendering intRendering = (AbstractIntegerRendering)rendering;
-					String displayEndian = DebugUIMessages.TableRenderingPropertiesPage_17;
-					endianess = intRendering.getDisplayEndianess();
-					
-					if (endianess == RenderingsUtil.BIG_ENDIAN)
-						displayEndian = DebugUIMessages.TableRenderingPropertiesPage_18;
-					else if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-						displayEndian = DebugUIMessages.TableRenderingPropertiesPage_19;
-					else
-					{
-						if (endianessKnown)
-							displayEndian = dataEndian;
-						else
-							displayEndian = DebugUIMessages.TableRenderingPropertiesPage_20;
-					}
-					addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_21, displayEndian);
-				}
-				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_22, String.valueOf(allBytesReadable));
-				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_23, String.valueOf(allBytesWritable));
-			}
-			else
-			{
-				String selectedAddress = "0x" + rendering.getSelectedAddress().toString(16).toUpperCase(); //$NON-NLS-1$
-				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_25, selectedAddress);
-				
-				int unitsPerLine = rendering.getAddressableUnitPerLine();
-				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_26, String.valueOf(unitsPerLine));
-			}
-		}
-		
-		return composite;
-	}
-	
-	private void addProperty(Composite composite, String labelStr, String contentStr)
-	{
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(labelStr);
-		Label text = new Label(composite, SWT.WRAP );
-		text.setText(contentStr);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java
deleted file mode 100644
index 2d126c5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Represent unsigned integer rendering
- */
-public class UnsignedIntegerRendering extends AbstractIntegerRendering {
-
-	/**
-	 * @param memBlock
-	 * @param renderingId
-	 */
-	public UnsignedIntegerRendering(String renderingId) {
-		super(renderingId);
-	}
-
-	private String convertToString(byte[] byteArray, int columnSize, int endianess)
-	{
-		String ret;
-		long result = 0;
-		
-		if (columnSize == 1)
-		{
-			result = byteArray[0];
-			result &= 0xff;
-		}
-		else if (columnSize == 2)
-		{	
-			result = RenderingsUtil.convertByteArrayToInt(byteArray, endianess);
-		}
-		else if (columnSize == 4)
-		{
-			result = RenderingsUtil.convertByteArrayToLong(byteArray, endianess);
-		}
-		else if (columnSize == 8)
-		{
-			BigInteger value = RenderingsUtil.convertByteArrayToUnsignedLong(byteArray, endianess);
-			return value.toString();				
-		}
-		else if (columnSize == 16)
-		{
-			BigInteger bigRet = RenderingsUtil.convertByteArrayToUnsignedBigInt(byteArray, endianess);
-			return bigRet.toString();
-		}
-		else
-		{
-			BigInteger bigRet = RenderingsUtil.convertByteArrayToUnsignedBigInt(byteArray, endianess, columnSize);
-			return bigRet.toString();			
-		}
-
-		ret = new Long(result).toString();
-		
-		return ret;
-	}	
-	
-	private byte[] convertToBytes(int colSize, String newValue, int endianess)
-	{
-		try {
-			byte[] bytes;
-			if (colSize == 1)
-			{
-				short i = Short.parseShort(newValue);
-				bytes = RenderingsUtil.convertShortToByteArray(i, endianess);
-				bytes = extractBytes(bytes, endianess, colSize);
-			}
-			// unsigned integer
-			else if (colSize == 2)
-			{	
-				int i = Integer.parseInt(newValue);
-				bytes = RenderingsUtil.convertIntToByteArray(i, endianess);
-				bytes = extractBytes(bytes, endianess, colSize);
-			}
-			else if (colSize == 4)
-			{	
-				long i = Long.parseLong(newValue);
-				bytes = RenderingsUtil.convertLongToByteArray(i, endianess);
-				bytes = extractBytes(bytes, endianess, colSize);
-			}
-			else if (colSize == 8)
-			{	
-				BigInteger i = new BigInteger(newValue);
-				bytes = RenderingsUtil.convertBigIntegerToByteArray(i, endianess);
-				bytes = extractBytes(bytes, endianess, colSize);
-			}
-			else if (colSize == 16)
-			{	
-				BigInteger i = new BigInteger(newValue);
-				bytes = RenderingsUtil.convertUnsignedBigIntegerToByteArray(i, endianess);
-				bytes = extractBytes(bytes, endianess, colSize);
-
-				return bytes;
-			}
-			else
-			{
-				BigInteger i = new BigInteger(newValue);
-				bytes = RenderingsUtil.convertUnsignedBigIntToByteArray(i, endianess, colSize);
-				bytes = extractBytes(bytes, endianess, colSize);
-				return bytes;				
-			}
-			
-			return bytes;
-		} catch (NumberFormatException e) {
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.debug.extended.ui.AbstractMemoryRenderer#getString(java.lang.String, java.math.BigInteger, byte[])
-	 */
-	public String getString(String dataType, BigInteger address, MemoryByte[] data) {
-		
-		String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-		boolean invalid = false;
-		for (int i=0; i<data.length; i++)
-		{
-			if (!data[i].isReadable())
-			{
-				invalid = true;
-				break;
-			}
-		}
-		
-		if (invalid)
-		{
-			StringBuffer strBuf = new StringBuffer();
-			for (int i=0; i<data.length; i++)
-			{
-				strBuf.append(paddedStr);
-			}
-			return strBuf.toString();
-		}
-		
-		int columnSize = getBytesPerColumn();
-		int endianess = getDisplayEndianess();
-		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
-			endianess = getBytesEndianess(data);
-		
-		byte[] byteArray = new byte[data.length];
-		for (int i=0; i<byteArray.length;i ++)
-		{
-			byteArray[i] = data[i].getValue();
-		}
-		
-		// if endianess is unknown, do not render, just return padded string		
-		if (RenderingsUtil.ENDIANESS_UNKNOWN == endianess)
-		{
-			StringBuffer strBuf = new StringBuffer();
-			for (int i=0; i<byteArray.length; i++)
-			{
-				strBuf.append(paddedStr);
-			}
-			return strBuf.toString();
-		}
-		
-		return convertToString(byteArray, columnSize, endianess);
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.debug.extended.ui.AbstractMemoryRenderer#getBytes(java.lang.String, java.math.BigInteger, java.lang.String)
-	 */
-	public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) {
-		
-		int columnSize = getBytesPerColumn();
-		int endianess = getDisplayEndianess();
-		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
-			endianess = getBytesEndianess(currentValues);
-		
-		// if endianess is unknown, do not try to render new data to bytes
-		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
-		{
-			byte[] retBytes = new byte[currentValues.length];
-			for (int i=0 ;i<currentValues.length; i++)
-				retBytes[i] = currentValues[i].getValue();
-			return retBytes;
-		}
-		
-		return convertToBytes(columnSize, data, endianess);
-	}
-	
-	private byte[] extractBytes(byte[] bytes, int endianess, int colSize) {
-		
-		if (colSize > bytes.length)
-			throw new NumberFormatException();
-		
-		// take the least significant 'colSize' bytes out of the bytes array
-		// if it's big endian, it's the last 'colSize' bytes
-		if (endianess == RenderingsUtil.BIG_ENDIAN)
-		{	
-			// check most significan bytes... if data has to be represented
-			// using more than 'colSize' number of bytes, this
-			// number is invalid, throw number format exception
-			for (int i=0; i<colSize; i++)
-			{
-				if (bytes[i] != 0)
-					throw new NumberFormatException();
-			}
-			
-			byte[] copy = new byte[colSize];
-			for (int j=0, k=bytes.length-colSize; j<copy.length && k<bytes.length; j++, k++)
-			{	
-				copy[j] = bytes[k]; 
-			}
-			bytes = copy;
-		}
-		// if it's little endian, it's the first 'colSize' bytes
-		else
-		{
-			// check most significan bytes... if data has to be represented
-			// using more than 'colSize' number of bytes, this
-			// number is invalid, throw number format exception
-			for (int i=colSize; i<bytes.length; i++)
-			{
-				if (bytes[i] != 0)
-					throw new NumberFormatException();
-			}
-			
-			byte[] copy = new byte[colSize];
-			for (int j=0; j<copy.length; j++)
-			{	
-				copy[j] = bytes[j]; 
-			}
-			bytes = copy;							
-		}
-		return bytes;
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java
deleted file mode 100644
index fccbe93..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory.renderings;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.memory.IMemoryRendering;
-import org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate;
-
-/**
- * Delegate for creating an unsigned integer rendering
- * @since 3.1
- */
-public class UnsignedIntegerRenderingTypeDelegate implements
-		IMemoryRenderingTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate#createRendering(java.lang.String)
-	 */
-	public IMemoryRendering createRendering(String id) throws CoreException {
-		return new UnsignedIntegerRendering(id);
-	}
-
-}
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 e11798a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 QNX Software Systems and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.variables.VariablesView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-
-/**
- * Displays registers and their values with a detail area.
- */
-public class RegistersView extends VariablesView {
-	
-	/**
-	 * @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.RegistersView_0; 
-	}
-
-}
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 fee5012..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 QNX Software Systems and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * QNX Software Systems - Initial API and implementation
- * IBM Corporation - Bug 90318
- ***********************************************************************/
-package org.eclipse.debug.internal.ui.views.registers;
-
-import org.eclipse.osgi.util.NLS;
-
-public class RegistersViewMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.views.registers.RegistersViewMessages";//$NON-NLS-1$
-
-    public static String RegistersView_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, RegistersViewMessages.class);
-	}
-}
\ No newline at end of file
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 d1c175f..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, 2005 QNX Software Systems and others.
-# All rights reserved.   This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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/variables/AvailableLogicalStructuresAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java
deleted file mode 100644
index 62644e2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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.IDebugHelpContextIds;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-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.PlatformUI;
-
-/**
- * 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.AvailableLogicalStructuresAction_0); 
-		setText(VariablesViewMessages.AvailableLogicalStructuresAction_1); 
-		PlatformUI.getWorkbench().getHelpSystem().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();
-        ILogicalStructureType enabledType = DebugPlugin.getDefaultStructureType(types);
-		if (types != null && types.length > 0) {
-			for (int i = 0; i < types.length; i++) {
-                ILogicalStructureType type= types[i];
-				Action action = new SelectLogicalStructureAction(getView(), type, getValue(), types);
-                action.setChecked(enabledType == type);
-                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());
-				addActionToMenu(fMenu, action);
-			}
-		}
-		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().getViewer().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;
-	}
-}
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 dbd0ce4..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 932e16d..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 ecf9ec9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 {
-		return getVariables(fOffset, fLength);
-	}
-
-	/* (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(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 90bbadb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.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 extends PlatformObject 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.IndexedVariablePartition_4, null)); 
-	}
-
-	/* (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.IndexedVariablePartition_4, null)); 
-	}
-
-	/* (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 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/MaxDetailsLengthAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/MaxDetailsLengthAction.java
deleted file mode 100644
index 68bc22c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/MaxDetailsLengthAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-public class MaxDetailsLengthAction implements IViewActionDelegate {
-	
-	private IViewPart fView;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fView = view;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		MaxDetailsLengthDialog dialog = new MaxDetailsLengthDialog(fView.getSite().getShell());
-		dialog.open();
-	}
-
-	/* (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) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/MaxDetailsLengthDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/MaxDetailsLengthDialog.java
deleted file mode 100644
index a20ee81..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/MaxDetailsLengthDialog.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.swt.widgets.Shell;
-
-public class MaxDetailsLengthDialog extends InputDialog {
-
-	/**
-	 * Cosntructs a new dialog on the given shell.
-	 * 
-	 * @param parent shell
-	 */
-	public MaxDetailsLengthDialog(Shell parent) {
-		super(parent, VariablesViewMessages.MaxDetailsLengthDialog_0, VariablesViewMessages.MaxDetailsLengthDialog_1,
-				Integer.toString(DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugUIConstants.PREF_MAX_DETAIL_LENGTH)),
-				new IInputValidator() {
-					public String isValid(String newText) {
-						try {
-							int num = Integer.parseInt(newText);
-							if (num < 0) {
-								return VariablesViewMessages.MaxDetailsLengthDialog_2;
-							}
-						} catch (NumberFormatException e) {
-							return VariablesViewMessages.MaxDetailsLengthDialog_3;
-						}
-						return null;
-					}
-				
-				});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		String text = getValue();
-		try {
-			int max = Integer.parseInt(text);
-			DebugUIPlugin.getDefault().getPreferenceStore().setValue(IDebugUIConstants.PREF_MAX_DETAIL_LENGTH, max);
-		} catch (NumberFormatException e) {
-		}
-		super.okPressed();
-	}
-	
-	
-
-}
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 80bc7b2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-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 fType;
-    private ILogicalStructureType[] fAvailableTypes;
-
-	/**
-	 * 
-	 * @param view Variables view
-	 * @param type the type that this action will turn on/off
-	 * @param value the value for which logical structures are to be chosen
-	 * @param availableTypes the set of logical structure types that are being offered
-     *  to the user in addition to the type controlled by this action
-	 */
-	public SelectLogicalStructureAction(VariablesView view, ILogicalStructureType type, IValue value, ILogicalStructureType[] availableTypes) {
-		super(type.getDescription(value), IAction.AS_CHECK_BOX);
-		setView(view);
-        fAvailableTypes= availableTypes;
-		fType= type;
-	}
-
-	/* (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() {
-                // Checking this action sets the type to fType, unchecking it sets the type
-                // to null ("none selected")
-                ILogicalStructureType type= null;
-                if (isChecked()) {
-                    type= fType;
-                }
-                DebugPlugin.setDefaultStructureType(fAvailableTypes, type);
-				getView().getViewer().refresh();					
-			}
-		});			
-	}
-	
-	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/StatusLineContributionItem.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/StatusLineContributionItem.java
deleted file mode 100644
index 224fcaa..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.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);
-			}
-		}
-	}
-}
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 dca133d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.PlatformUI;
-
-/**
- * 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.ToggleObjectBrowsersAction_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$
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.VARIABLES_CONTENT_PROVIDERS_ACTION);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		if (!getView().isAvailable()) {
-			return;
-		}
-		getView().setShowLogicalStructure(isChecked());	
-		BusyIndicator.showWhile(getView().getViewer().getControl().getDisplay(), new Runnable() {
-			public void run() {
-				getView().getViewer().refresh();					
-			}
-		});		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.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/ToggleShowColumnsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java
deleted file mode 100644
index efae55c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-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.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * 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 ToggleShowColumnsAction extends Action implements IUpdate {
-	
-	private AsynchronousTreeViewer fViewer;
-
-	public ToggleShowColumnsAction(AsynchronousTreeViewer viewew) {
-		super(VariablesViewMessages.ToggleShowColumnsAction_0, IAction.AS_CHECK_BOX);
-		fViewer = viewew;
-		setToolTipText(VariablesViewMessages.ToggleShowColumnsAction_1);  
-		setImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJS_COMMON_TAB));
-		setId(DebugUIPlugin.getUniqueIdentifier() + ".ToggleShowColumsAction"); //$NON-NLS-1$
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.SHOW_COLUMNS_ACTION);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		if (fViewer.getControl().isDisposed()) {
-			return;
-		}
-		BusyIndicator.showWhile(fViewer.getControl().getDisplay(), new Runnable() {
-			public void run() {
-				fViewer.setShowColumns(isChecked());				
-			}
-		});		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		setEnabled(fViewer.canToggleColumns());
-		setChecked(fViewer.isShowColumns());
-	}	
-	
-
-}
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 e0a8777..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.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 c6450d4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
+++ /dev/null
@@ -1,1678 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-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.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.CollapseAllAction;
-import org.eclipse.debug.internal.ui.actions.ConfigureColumnsAction;
-import org.eclipse.debug.internal.ui.actions.FindElementAction;
-import org.eclipse.debug.internal.ui.actions.variables.AssignValueAction;
-import org.eclipse.debug.internal.ui.actions.variables.ChangeVariableValueAction;
-import org.eclipse.debug.internal.ui.actions.variables.ShowTypesAction;
-import org.eclipse.debug.internal.ui.actions.variables.ToggleDetailPaneAction;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.viewers.PresentationContext;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.views.AbstractViewerState;
-import org.eclipse.debug.internal.ui.views.IDebugExceptionHandler;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.debug.ui.IValueDetailListener;
-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.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.Assert;
-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.IUndoManager;
-import org.eclipse.jface.text.IUndoManagerExtension;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.ISourceViewerExtension2;
-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.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-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.StructuredViewer;
-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.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.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.console.actions.TextViewerAction;
-import org.eclipse.ui.operations.OperationHistoryActionHandler;
-import org.eclipse.ui.operations.RedoActionHandler;
-import org.eclipse.ui.operations.UndoActionHandler;
-import org.eclipse.ui.progress.WorkbenchJob;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.IAbstractTextEditorHelpContextIds;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.IUpdate;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * This view shows variables and their values for a particular stack frame
- */
-public class VariablesView extends AbstractDebugView implements IDebugContextListener,
-																	IPropertyChangeListener,
-																	IValueDetailListener,
-																	IDebugExceptionHandler,
-																	IPerspectiveListener {
-
-	/**
-	 * Internal interface for a cursor listener. I.e. aggregation 
-	 * of mouse and key listener.
-	 * @since 3.0
-	 */
-	interface ICursorListener extends MouseListener, KeyListener {
-	}
-		
-	/**
-	 * Most recently used variant with capped size that only counts
-	 * {@linkplain #put(Object, Object) put} as access. This is implemented by always removing an
-	 * element before it gets put back.
-	 * 
-	 * @since 3.2
-	 */
-	private static final class MRUMap extends LinkedHashMap {
-		private static final long serialVersionUID= 1L;
-		private final int fMaxSize;
-		
-		/**
-		 * Creates a new <code>MRUMap</code> with the given size.
-		 * 
-		 * @param maxSize the maximum size of the cache, must be &gt; 0
-		 */
-		public MRUMap(int maxSize) {
-			Assert.isLegal(maxSize > 0);
-			fMaxSize= maxSize;
-		}
-		
-		/*
-		 * @see java.util.HashMap#put(java.lang.Object, java.lang.Object)
-		 */
-		public Object put(Object key, Object value) {
-			Object object= remove(key);
-			super.put(key, value);
-			return object;
-		}
-		
-		/*
-		 * @see java.util.LinkedHashMap#removeEldestEntry(java.util.Map.Entry)
-		 */
-		protected boolean removeEldestEntry(java.util.Map.Entry eldest) {
-			return size() > fMaxSize;
-		}
-	}
-	
-	/**
-	 * 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);
-			}
-		}
-	}
-	
-	/**
-	 * Retargets the find action to the details area or tree viewer.
-	 * 
-	 * @since 3.2
-	 */
-	class DelegatingFindAction extends Action implements IUpdate {
-			private IAction getFindAction() {
-				if (getDetailViewer().getTextWidget().isFocusControl()) {
-					return getAction("FindReplaceText"); //$NON-NLS-1$
-				} else {
-					return getAction(FIND_ELEMENT);
-				}
-			}
-			public void run() {
-				getFindAction().run();
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.ui.texteditor.IUpdate#update()
-			 */
-			public void update() {
-				setEnabled(getFindAction().isEnabled());
-			}
-	}
-	
-	/**
-	 * 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 SourceViewer 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);
-	
-	/**
-	 * An MRU cache of stack frame hash codes 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 limited
-	 * to twenty entries.
-	 */
-	private HashMap fSelectionStates = new MRUMap(20);
-	
-	/**
-	 * 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;
-	private ConfigureColumnsAction fConfigureColumnsAction;
-    
-    protected String PREF_STATE_MEMENTO = "pref_state_memento."; //$NON-NLS-1$
-
-	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$
-
-	public static final String LOGICAL_STRUCTURE_TYPE_PREFIX = "VAR_LS_"; //$NON-NLS-1$
-	
-	/**
-	 * the pref name for the view part of the sashform
-	 * @since 3.2 
-	 */
-	protected static final String SASH_VIEW_PART = DebugUIPlugin.getUniqueIdentifier() + ".SASH_VIEW_PART"; //$NON-NLS-1$
-	/**
-	 * thepref name for the details part of the sashform
-	 * @since 3.2
-	 */
-	protected static final String SASH_DETAILS_PART = DebugUIPlugin.getUniqueIdentifier() + ".SASH_DETAILS_PART"; //$NON-NLS-1$
-	
-	/**
-	 * Key for "Find..." action.
-	 */
-	protected static final String FIND_ELEMENT = "FindElement"; //$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.VariablesView_56; 
-	/** 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 };
-	/** Whether logical structuers are showing */
-    private boolean fShowLogical;
-
-	/**
-	 * Remove myself as a selection listener
-	 * and preference change listener.
-	 *
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		getViewSite().getActionBars().getStatusLineManager().remove(fStatusLineItem);
-		DebugContextManager.getDefault().removeDebugContextListener(this, getSite().getWorkbenchWindow());
-		getSite().getWorkbenchWindow().removePerspectiveListener(this);
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		JFaceResources.getFontRegistry().removeListener(this);
-		Viewer viewer = getViewer();
-		if (viewer != null) {
-			getDetailDocument().removeDocumentListener(getDetailDocumentListener());
-			if (viewer instanceof AsynchronousTreeViewer) {
-				AsynchronousTreeViewer asyncTreeViewer = (AsynchronousTreeViewer) viewer;
-				asyncTreeViewer.dispose();
-			}
-		}
-        fSelectionStates.clear();
-		super.dispose();
-	}
-
-	protected void setViewerInput(Object context) {
-		
-		getDetailViewer().setEditable(context != null);
-		
-		Object current= getViewer().getInput();
-		
-		if (current == null && context == null) {
-			return;
-		}
-
-		if (current != null && current.equals(context)) {
-			return;
-		}
-		
-		if (current != null) {
-			// save state
-			AbstractViewerState state = getViewerState();
-			cacheViewerState(current, state);
-			fLastState = (AbstractViewerState) state.clone();
-		}		
-		
-		if (context instanceof IDebugElement) {
-			setDebugModel(((IDebugElement)context).getModelIdentifier());
-		}
-		showViewer();
-		getViewer().setInput(context);
-		restoreState();
-	}
-	
-	/**
-	 * Caches the given viewer state for the given viewer input.
-	 * 
-	 * @param input viewer input
-	 * @param state viewer state
-	 */
-	protected void cacheViewerState(Object input, AbstractViewerState state) {
-		// generate a key for the input based on its hashcode, we don't
-		// want to maintain reference real model objects preventing GCs.
-		fSelectionStates.put(generateKey(input), state);
-	}
-	
-	/**
-	 * Generate a key for an input object.
-	 * 
-	 * @param input
-	 * @return key
-	 */
-	protected Object generateKey(Object input) {
-		return new Integer(input.hashCode());
-	}
-	
-	/**
-	 * Returns the cached viewer state for the given viewer input or 
-	 * <code>null</code> if none.
-	 * 
-	 * @param input viewer input
-	 * @return viewer state or <code>null</code>
-	 */
-	protected AbstractViewerState getCachedViewerState(Object input) {
-		return (AbstractViewerState) fSelectionStates.get(generateKey(input));
-	}
-    
-    protected void restoreState() {
-        VariablesViewer viewer = (VariablesViewer) getViewer();
-        if (viewer != null) {
-            Object context = viewer.getInput();
-            if (context != null) {
-                AbstractViewerState state = getCachedViewerState(context);
-                if (state == null) {
-                    // attempt to restore selection/expansion based on last
-                    // frame
-                	if (fLastState != null) {
-                		state = fLastState;
-                	}
-                }
-                if (state != null) {
-                    state.restoreState(viewer);
-                }
-            }
-        }
-    }
-	
-	/**
-	 * 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.VariablesView_Error_1, VariablesViewMessages.VariablesView_Unable_to_configure_variable_details_area__2, e); 
-			}
-		}
-		ISourceViewer detailViewer = getDetailViewer();
-        if (svc == null) {
-			svc = new SourceViewerConfiguration();
-			detailViewer.setEditable(false);
-		}
-        if (detailViewer instanceof ISourceViewerExtension2) {
-            ISourceViewerExtension2 sourceViewer = (ISourceViewerExtension2) detailViewer;
-            sourceViewer.unconfigure();
-        }
-		detailViewer.configure(svc);
-		//update actions that depend on the configuration of the details viewer
-		updateAction("ContentAssist"); //$NON-NLS-1$
-		setDetailViewerConfiguration(svc);
-		createUndoRedoActions();
-	}
-	
-	/**
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		String propertyName= event.getProperty();
-		if (propertyName.equals(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR) || 
-				propertyName.equals(IInternalDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND)) {
-			getViewer().refresh();
-		} else if (propertyName.equals(IInternalDebugUIConstants.DETAIL_PANE_FONT)) {
-			getDetailViewer().getTextWidget().setFont(JFaceResources.getFont(IInternalDebugUIConstants.DETAIL_PANE_FONT));			
-		} else if (propertyName.equals(IInternalDebugUIConstants.PREF_MAX_DETAIL_LENGTH)) {
-			populateDetailPane();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(Composite)
-	 */
-	public Viewer createViewer(Composite parent) {
-		VariablesViewer variablesViewer = (VariablesViewer) createTreeViewer(parent);
-		variablesViewer.setContext(new PresentationContext(this));
-		variablesViewer.getPresentationContext().addPropertyChangeListener(
-				new IPropertyChangeListener() {
-					public void propertyChange(PropertyChangeEvent event) {
-						if (IPresentationContext.PROPERTY_COLUMNS.equals(event.getProperty())) {
-							IAction action = getAction("ShowTypeNames"); //$NON-NLS-1$
-							if (action != null) {
-								action.setEnabled(event.getNewValue() == null);
-							}
-						}
-					}
-				});
-		
-		createDetailsViewer();
-		fSashForm.setMaximizedControl(variablesViewer.getControl());
-
-		createOrientationActions(variablesViewer);
-		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);
-		IMemento memento = getMemento();
-		if (memento != null) {
-			variablesViewer.initState(memento);
-		}
-		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);
-		PREF_STATE_MEMENTO = PREF_STATE_MEMENTO + site.getId();
-        IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-        String string = store.getString(PREF_STATE_MEMENTO);
-        if(string.length() > 0) {
-        	ByteArrayInputStream bin = new ByteArrayInputStream(string.getBytes());
-        	InputStreamReader reader = new InputStreamReader(bin);
-        	try {
-        		XMLMemento stateMemento = XMLMemento.createReadRoot(reader);
-        		setMemento(stateMemento);
-        	} catch (WorkbenchException e) {
-        	} finally {
-        		try {
-        			reader.close();
-        			bin.close();
-        		} catch (IOException e){}
-        	}
-        }
-        IMemento mem = getMemento();
-		if (mem != null) {
-			Integer sw = mem.getInteger(SASH_VIEW_PART);
-			if(sw != null) {
-				setLastSashWeights(new int[] {sw.intValue(), mem.getInteger(SASH_DETAILS_PART).intValue()});
-			}
-			else {
-				setLastSashWeights(DEFAULT_SASH_WEIGHTS);
-			}
-		}
-		site.getWorkbenchWindow().addPerspectiveListener(this);
-    }
-    
-	
-    public void partDeactivated(IWorkbenchPart part) {
-		String id = part.getSite().getId();
-		if (id.equals(getSite().getId())) {
-			ByteArrayOutputStream bout = new ByteArrayOutputStream();
-			OutputStreamWriter writer = new OutputStreamWriter(bout);
-
-			try {
-				XMLMemento memento = XMLMemento.createWriteRoot("VariablesViewMemento"); //$NON-NLS-1$
-				saveViewerState(memento);
-				memento.save(writer);
-
-				IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-				String xmlString = bout.toString();
-				store.putValue(PREF_STATE_MEMENTO, xmlString);
-			} catch (IOException e) {
-			} finally {
-				try {
-					writer.close();
-					bout.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-		super.partDeactivated(part);
-	}
-
-	public void saveViewerState(IMemento memento) {
-		if (fSashForm != null && !fSashForm.isDisposed()) {
-	        int[] weights = fSashForm.getWeights();
-			memento.putInteger(SASH_VIEW_PART, weights[0]);
-			memento.putInteger(SASH_DETAILS_PART, weights[1]);
-		}
-		getVariablesViewer().saveState(memento);
-	}
-
-	protected String getDetailPanePreferenceKey() {
-		return IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION;
-	}
-		
-	/**
-	 * Create and return the main tree viewer that displays variable.
-	 */
-	protected Viewer 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
-		fSashForm = new SashForm(parent, SWT.NONE);
-
-		// add tree viewer
-		final VariablesViewer variablesViewer = createVariablesViewer(fSashForm);
-		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(IDebugView.COPY_ACTION));
-				getViewSite().getActionBars().updateActionBars();
-				setFocusViewer(getViewer());
-			}
-		});
-		variablesViewer.addPostSelectionChangedListener(getTreeSelectionChangedListener());
-		getVariablesViewSelectionProvider().setUnderlyingSelectionProvider(variablesViewer);
-		getSite().setSelectionProvider(getVariablesViewSelectionProvider());
-
-		// listen to debug context
-		DebugContextManager.getDefault().addDebugContextListener(this, getSite().getWorkbenchWindow());
-		return variablesViewer;
-	}
-	
-	/**
-	 * Creates and returns a variables viewer in the given composite.
-	 * 
-	 * @param parent
-	 * @return variables viewer
-	 */
-	protected VariablesViewer createVariablesViewer(Composite parent) {
-		return new VariablesViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.VIRTUAL | SWT.FULL_SELECTION, this);
-	}
-	
-	/**
-	 * Create the widgetry for the details viewer.
-	 */
-	protected void createDetailsViewer() {
-		// Create & configure a SourceViewer
-		SourceViewer detailsViewer= new SourceViewer(fSashForm, null, SWT.V_SCROLL | SWT.H_SCROLL);
-		fDetailViewer = 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());
-	}
-		
-	/* (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;
-			fSashForm.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(fSashForm.getWeights());
-		}
-		fSashForm.setMaximizedControl(getViewer().getControl());		
-	}
-	
-	private void showDetailPane() {
-		fSashForm.setMaximizedControl(null);
-		fSashForm.setWeights(getLastSashWeights());
-		populateDetailPane();
-		revealTreeSelection();
-		fToggledDetailOnce = true;		
-	}
-
-	/**
-	 * Make sure the currently selected item in the tree is visible.
-	 */
-	protected void revealTreeSelection() {
-		StructuredViewer viewer = (StructuredViewer) getViewer();
-		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(); 
-		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((AsynchronousTreeViewer)getViewer());
-		setAction("CollapseAll", action); //$NON-NLS-1$
-
-		action = new ChangeVariableValueAction(this);
-		action.setEnabled(false);
-		setAction("ChangeVariableValue", action); //$NON-NLS-1$
-		
-		TextViewerAction textAction= new TextViewerAction(getDetailViewer(), ISourceViewer.CONTENTASSIST_PROPOSALS);
-		textAction.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-		textAction.configureAction(VariablesViewMessages.VariablesView_Co_ntent_Assist_3, "",""); //$NON-NLS-1$ //$NON-NLS-2$ 
-		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.VariablesView_Select__All_5, "", ""); //$NON-NLS-1$ //$NON-NLS-2$ 
-		textAction.setActionDefinitionId(IWorkbenchActionDefinitionIds.SELECT_ALL);
-		setAction(DETAIL_SELECT_ALL_ACTION, textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), ITextOperationTarget.COPY);
-		textAction.configureAction(VariablesViewMessages.VariablesView__Copy_8, "", "");  //$NON-NLS-1$ //$NON-NLS-2$
-		textAction.setActionDefinitionId(IWorkbenchActionDefinitionIds.COPY);
-		setAction(DETAIL_COPY_ACTION, textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), ITextOperationTarget.CUT);
-		textAction.configureAction(VariablesViewMessages.VariablesView_Cu_t_11, "", ""); //$NON-NLS-1$ //$NON-NLS-2$ 
-		textAction.setActionDefinitionId(IWorkbenchActionDefinitionIds.CUT);
-		setAction(ActionFactory.CUT.getId(), textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), ITextOperationTarget.PASTE);
-		textAction.configureAction(VariablesViewMessages.VariablesView__Paste_14, "", ""); //$NON-NLS-1$ //$NON-NLS-2$ 
-		textAction.setActionDefinitionId(IWorkbenchActionDefinitionIds.PASTE);
-		setAction(ActionFactory.PASTE.getId(), textAction);
-		
-		action= new FindElementAction(this, getVariablesViewer());
-		setAction(FIND_ELEMENT, action);
-		
-		// TODO: Still using "old" resource access
-		ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.debug.internal.ui.views.variables.VariablesViewMessages"); //$NON-NLS-1$
-		action = new FindReplaceAction(bundle, "find_replace_action_", VariablesView.this);	 //$NON-NLS-1$
-		action.setActionDefinitionId(IWorkbenchActionDefinitionIds.FIND_REPLACE);
-		setAction("FindReplaceText", action); //$NON-NLS-1$
-		
-		setAction(FIND_ACTION, new DelegatingFindAction());
-		
-		fSelectionActions.add(ActionFactory.COPY.getId());
-		fSelectionActions.add(ActionFactory.CUT.getId());
-		fSelectionActions.add(ActionFactory.PASTE.getId());
-		fSelectionActions.add("FindReplaceText"); //$NON-NLS-1$
-		updateAction("FindReplaceText"); //$NON-NLS-1$
-		
-		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);
-	} 
-	
-	/**
-	 * Creates this editor's undo/redo actions.
-	 * <p>
-	 * Subclasses may override or extend.</p>
-	 *
-	 * @since 3.2
-	 */
-	protected void createUndoRedoActions() {
-		disposeUndoRedoAction(ITextEditorActionConstants.UNDO);
-		disposeUndoRedoAction(ITextEditorActionConstants.REDO);
-		IUndoContext undoContext= getUndoContext();
-		if (undoContext != null) {
-			// Use actions provided by global undo/redo
-			
-			// Create the undo action
-			OperationHistoryActionHandler undoAction= new UndoActionHandler(getSite(), undoContext);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(undoAction, IAbstractTextEditorHelpContextIds.UNDO_ACTION);
-			undoAction.setActionDefinitionId(IWorkbenchActionDefinitionIds.UNDO);
-			setAction(ITextEditorActionConstants.UNDO, undoAction);
-
-			// Create the redo action.
-			OperationHistoryActionHandler redoAction= new RedoActionHandler(getSite(), undoContext);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(redoAction, IAbstractTextEditorHelpContextIds.REDO_ACTION);
-			redoAction.setActionDefinitionId(IWorkbenchActionDefinitionIds.REDO);
-			setAction(ITextEditorActionConstants.REDO, redoAction);
-		}
-	}	
-	
-	private void disposeUndoRedoAction(String actionId) {
-		OperationHistoryActionHandler action = (OperationHistoryActionHandler) getAction(actionId);
-		if (action != null) {
-			action.dispose();
-			setAction(actionId, null);
-		}
-	}
-	/**
-	 * Returns this editor's viewer's undo manager undo context.
-	 *
-	 * @return the undo context or <code>null</code> if not available
-	 * @since 3.2
-	 */
-	private IUndoContext getUndoContext() {
-		IUndoManager undoManager= fDetailViewer.getUndoManager();
-		if (undoManager instanceof IUndoManagerExtension)
-			return ((IUndoManagerExtension)undoManager).getUndoContext();
-		return null;
-	}		
-	
-	private void createOrientationActions(VariablesViewer viewer) {
-		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());
-		final MenuManager layoutSubMenu = new MenuManager(VariablesViewMessages.VariablesView_40);
-		layoutSubMenu.setRemoveAllWhenShown(true);
-		layoutSubMenu.add(fToggleDetailPaneActions[0]);
-		layoutSubMenu.add(fToggleDetailPaneActions[1]);
-		layoutSubMenu.add(fToggleDetailPaneActions[2]);
-		viewMenu.add(layoutSubMenu);
-		viewMenu.add(new Separator());
-		
-		fConfigureColumnsAction = new ConfigureColumnsAction(viewer);
-		setAction("ToggleColmns", new ToggleShowColumnsAction(viewer)); //$NON-NLS-1$
-		
-		layoutSubMenu.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				layoutSubMenu.add(fToggleDetailPaneActions[0]);
-				layoutSubMenu.add(fToggleDetailPaneActions[1]);
-				layoutSubMenu.add(fToggleDetailPaneActions[2]);
-				IAction action = getAction("ToggleColmns"); //$NON-NLS-1$
-				((IUpdate)action).update();
-				if (action.isEnabled()) {
-					layoutSubMenu.add(action);
-				}
-				fConfigureColumnsAction.update();
-				if (fConfigureColumnsAction.isEnabled()) {
-					layoutSubMenu.add(fConfigureColumnsAction);
-				}
-			}
-		});
-	}
-	
-	protected String getToggleActionLabel() {
-		return VariablesViewMessages.VariablesView_41; 
-	}
-	
-	/**
-	 * 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(FIND_ELEMENT));
-		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("FindReplaceText")); //$NON-NLS-1$
-		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(final SelectionChangedEvent event) {
-                    if (event.getSelectionProvider().equals(getViewer())) {
-                        clearStatusLine();
-                        getVariablesViewSelectionProvider().fireSelectionChanged(event);				
-                        // if the detail pane is not visible, don't waste time retrieving details
-                        if (fSashForm.getMaximizedControl() == getViewer().getControl()) {
-                            return;
-                        }	
-                        
-                        Job job = new Job("Detail Pane Populate Job") {//$NON-NLS-1$
-                            protected IStatus run(IProgressMonitor monitor) {
-                                IStructuredSelection selection = (IStructuredSelection)event.getSelection();
-                                populateDetailPaneFromSelection(selection);
-                                return Status.OK_STATUS;
-                            } 
-                        };
-                        job.setSystem(true);
-                        job.schedule();
-                        
-                        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) {
-                final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-                Job job = new Job("Populate Detail Pane") {//$NON-NLS-1$
-                    protected IStatus run(IProgressMonitor monitor) {
-                        populateDetailPaneFromSelection(selection);
-                        return Status.OK_STATUS;
-                    }
-                };
-                job.setSystem(true);
-                job.schedule();
-            }
-        }
-    }
-	
-	/**
-	 * Show the details associated with the first of the selected variables in the 
-	 * detail pane.
-	 */
-	protected void populateDetailPaneFromSelection(final IStructuredSelection selection) {
-        WorkbenchJob wJob = new WorkbenchJob("Populate Details Pane") { //$NON-NLS-1$
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-                getDetailDocument().set(""); //$NON-NLS-1$        
-				return Status.OK_STATUS;
-			}
-        };
-        wJob.setSystem(true);
-        wJob.schedule();
-        
-		try {
-			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;
-				}
-				
-                final IValue finalVal = val;
-                
-                wJob = new WorkbenchJob("Populate Details Pane"){ //$NON-NLS-1$
-					public IStatus runInUIThread(IProgressMonitor monitor) {
-                        getDetailDocument().set(""); //$NON-NLS-1$
-                        setDebugModel(finalVal.getModelIdentifier());
-                        fValueSelection = selection;
-                        fSelectionIterator = selection.iterator();
-                        fSelectionIterator.next();
-                        fLastValueDetail= finalVal;
-                        getModelPresentation().computeDetail(finalVal, VariablesView.this);        
-						return Status.OK_STATUS;
-					}
-				};
-				wJob.setSystem(true);
-				wJob.schedule();
-			} 
-		} catch (DebugException de) {
-			wJob = new WorkbenchJob("Populate Details Pane") { //$NON-NLS-1$
-				public IStatus runInUIThread(IProgressMonitor monitor) {
-					getDetailDocument().set(VariablesViewMessages.VariablesView__error_occurred_retrieving_value__18);
-					return Status.OK_STATUS;
-				}
-				
-			};
-			wJob.setSystem(true);
-			wJob.schedule();
-		}				
-	}
-	
-	/**
-	 * @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().getLength();
-						if (length > 0) {
-							insert = "\n" + result; //$NON-NLS-1$
-						}
-						try {
-							int max = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IInternalDebugUIConstants.PREF_MAX_DETAIL_LENGTH);
-							if (max > 0 && insert.length() > max) {
-								insert = insert.substring(0, max) + "..."; //$NON-NLS-1$
-							}
-							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.VariablesView__error_occurred_retrieving_value__18); 	
-						}
-					} 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;
-	}
-	
-	/**
-	 * Returns the viewer used to display value details
-	 * 
-	 * @return source viewer
-	 */
-	protected ISourceViewer getDetailViewer() {
-		return fDetailViewer;
-	}
-	
-	/**
-	 * Returns the sashform
-	 * @return the current sashform
-	 */
-	protected SashForm getSashForm() {
-		return fSashForm;
-	}
-	
-	/* (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 fSashForm;
-	}	
-	
-	/**
-	 * @see IDebugExceptionHandler#handleException(DebugException)
-	 */
-	public void handleException(DebugException e) {
-		showMessage(e.getMessage());
-	}
-	
-	protected VariablesViewSelectionProvider getVariablesViewSelectionProvider() {
-		return fSelectionProvider;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextListener#contextActivated(java.lang.Object, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextActivated(ISelection selection, IWorkbenchPart part) {
-		if (!isAvailable() || !isVisible()) {
-			return;
-		}
-		
-		if (selection instanceof IStructuredSelection) {
-			setViewerInput(((IStructuredSelection)selection).getFirstElement());
-		}
-		showViewer();
-		
-		updateAction("ContentAssist"); //$NON-NLS-1$
-		updateAction(FIND_ELEMENT);
-		updateAction(FIND_ACTION);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {		
-	}	
-	
-	/**
-	 * 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();
-		}
-	}	
-	/**
-	 * @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 fSashForm;
-	}
-
-	/* (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) {
-	    fShowLogical = flag;
-	}	
-	
-	/** 
-	 * Returns whether logical structures are being displayed 
-	 */
-	public boolean isShowLogicalStructure() {
-	    return fShowLogical;
-	}	
-
-	/**
-	 * 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(null);
-		super.becomesHidden();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#becomesVisible()
-	 */
-	protected void becomesVisible() {
-		super.becomesVisible();
-		ISelection selection = DebugContextManager.getDefault().getActiveContext(getSite().getWorkbenchWindow());
-		contextActivated(selection, null);
-	}
-
-	/**
-	 * 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());
-	}
-	
-	protected VariablesViewer getVariablesViewer() {
-		return (VariablesViewer) getViewer();
-	}
-	
-	/**
-	 * 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$
-		}
-	}
-
-	protected void clearStatusLine() {
-		IStatusLineManager manager = getViewSite().getActionBars().getStatusLineManager(); 
-		manager.setErrorMessage(null);
-		manager.setMessage(null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveListener#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
-	 */
-	public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {}
-
-	/* (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) {
-		if(changeId.equals(IWorkbenchPage.CHANGE_RESET)) {
-			setLastSashWeights(DEFAULT_SASH_WEIGHTS);
-			fSashForm.setWeights(DEFAULT_SASH_WEIGHTS);
-		}
-	}	
-}
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 4316097..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.osgi.util.NLS;
-
-public class VariablesViewMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.views.variables.VariablesViewMessages";//$NON-NLS-1$
-
-	public static String find_replace_action_label;
-	public static String find_replace_action_tooltip;
-	public static String find_replace_action_image;
-	public static String find_replace_action_description;
-
-	public static String VariablesView__Copy_8;
-	public static String VariablesView__Paste_14;
-	public static String VariablesView__error_occurred_retrieving_value__18;
-	public static String VariablesView_Co_ntent_Assist_3;
-	public static String VariablesView_Cu_t_11;
-	public static String VariablesView_Error_1;
-	public static String VariablesView_Select__All_5;
-	public static String VariablesView_Unable_to_configure_variable_details_area__2;
-	public static String VariablesView_56;
-
-	public static String ToggleObjectBrowsersAction_1;
-	public static String VariablesView_41;
-	public static String ExpressionView_4;
-
-	public static String IndexedVariablePartition_4;
-
-	public static String AvailableLogicalStructuresAction_0;
-	public static String AvailableLogicalStructuresAction_1;
-	public static String AvailableLogicalStructuresAction_2;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, VariablesViewMessages.class);
-	}
-
-	public static String MaxDetailsLengthDialog_0;
-
-	public static String MaxDetailsLengthDialog_1;
-
-	public static String MaxDetailsLengthDialog_2;
-
-	public static String MaxDetailsLengthDialog_3;
-
-	public static String VariablesView_40;
-
-	public static String ToggleShowColumnsAction_0;
-
-	public static String ToggleShowColumnsAction_1;
-}
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 0702827..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-find_replace_action_label=&Find/Replace...
-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
-ToggleShowColumnsAction_0=&Show Columns
-ToggleShowColumnsAction_1=Show Columns
-VariablesView_41=Variables View Only
-VariablesView_40=&Layout
-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
-AvailableLogicalStructuresAction_2=\ (displayed)
-MaxDetailsLengthDialog_0=Configure Details Area
-MaxDetailsLengthDialog_1=&Maximum characters to display in details area (0 = unlimited):
-MaxDetailsLengthDialog_2=Integer must be non-negative
-MaxDetailsLengthDialog_3=Enter an integer
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 2a192de..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * @since 3.2
- *
- */
-public class VariablesViewer extends AsynchronousTreeViewer{
-
-	private VariablesView fView;
-
-	private UIJob fRestoreJob = new UIJob("restore viewer state") { //$NON-NLS-1$
-		public IStatus runInUIThread(IProgressMonitor monitor) {
-			fView.restoreState();
-			return Status.OK_STATUS;
-		}
-	};
-	
-	public VariablesViewer(Composite parent, int style, VariablesView view) {
-		super(parent, style);
-		fView = view;
-		fRestoreJob.setSystem(true);
-	}
-
-	protected void updateComplete(IAsynchronousRequestMonitor update) {
-		if (fView != null && !hasPendingUpdates()) {
-			fRestoreJob.schedule();
-			fView.populateDetailPane();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.treeviewer.AsynchronousTreeViewer#handlePresentationFailure(org.eclipse.debug.internal.ui.treeviewer.IPresentationRequestMonitor, org.eclipse.core.runtime.IStatus)
-	 */
-	protected void handlePresentationFailure(IAsynchronousRequestMonitor update, IStatus status) {
-		fView.showMessage(status.getMessage());
-	}
-	
-}
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 290c2ae..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ViewerState.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.internal.ui.views.AbstractViewerState;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.swt.widgets.Tree;
-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 {
-
-	public ViewerState() {
-	}
-	
-	/**
-	 * Constructs a memento for the given viewer.
-	 */
-	public ViewerState(AsynchronousTreeViewer viewer) {
-		super(viewer);
-	}
-
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.AbstractViewerState#encodeElement(org.eclipse.swt.widgets.TreeItem)
-	 */
-	protected IPath encodeElement(TreeItem item) throws DebugException {
-		StringBuffer path = new StringBuffer();
-		TreeItem parent = item.getParentItem();
-		while (parent != null) {
-			int i = parent.indexOf(item);
-			path.insert(0, i);
-			path.insert(0, '/');
-			item = parent;
-			parent = item.getParentItem();
-		}
-		Tree tree = item.getParent();
-		int i = tree.indexOf(item);
-		path.insert(0, i);
-		return new Path(path.toString());
-	}
-
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.AbstractViewerState#decodePath(org.eclipse.core.runtime.IPath,
-	 *      org.eclipse.jface.viewers.TreeViewer)
-	 */
-	protected TreePath decodePath(IPath path, AsynchronousTreeViewer viewer) throws DebugException {
-		String[] indicies = path.segments();
-		if (indicies.length == 0) {
-			return null;
-		}
-		Tree tree = viewer.getTree();
-		int index = -1;
-		try {
-			index = Integer.parseInt(indicies[0]);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-		TreeItem item = null;
-		if (index < tree.getItemCount()) {
-			item = tree.getItem(index);
-		} else {
-			return null;
-		}
-		
-		List elements = new ArrayList();
-		elements.add(viewer.getInput());
-		Object element = item.getData();
-		if (element != null) {
-			elements.add(element);
-		} else {
-			return null;
-		}
-		
-		for (int i = 1; i < indicies.length; i++) {
-			try {
-				index = Integer.parseInt(indicies[i]);
-			} catch (NumberFormatException e) {
-				return null;
-			}	
-			if (index < item.getItemCount()) {
-				item = item.getItem(index);
-			} else {
-				break; // return partial path
-			}		
-			element = item.getData();
-			if (element != null) {
-				elements.add(element);
-			} else {
-				break; // return partial path
-			}			
-		}
-		
-		return new TreePath(elements.toArray());
-	}
-
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractBreakpointOrganizerDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractBreakpointOrganizerDelegate.java
deleted file mode 100644
index 438180c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractBreakpointOrganizerDelegate.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.breakpoints.OtherBreakpointCategory;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * Common function for breakpoint organizer delegates.
- * <p>
- * Clients implementing <code>IBreakpointOrganizerDelegate</code> must subclass this class.
- * </p>
- * @since 3.1
- */
-public abstract class AbstractBreakpointOrganizerDelegate implements IBreakpointOrganizerDelegate {
-    
-    // property change listeners
-    private ListenerList fListeners = new ListenerList();
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addBreakpoint(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
-     */
-    public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category) {
-        // do noting, not supported by default
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-     */
-    public void addPropertyChangeListener(IPropertyChangeListener listener) {
-        fListeners.add(listener);
-    }
-    
-    /* (non-Javadoc)
-     * 
-     * Subclasses that override should return super.canAdd(...) when they are not able to add
-     * the breakpoint.
-     * 
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canAdd(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
-     */
-    public boolean canAdd(IBreakpoint breakpoint, IAdaptable category) {
-        return category instanceof OtherBreakpointCategory;
-    }
-    
-    /* (non-Javadoc)
-     * 
-     * Subclasses that override should return super.canRemove(...) when they are not able to remove
-     * the breakpoint.
-     * 
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canRemove(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
-     */
-    public boolean canRemove(IBreakpoint breakpoint, IAdaptable category) {
-        return category instanceof OtherBreakpointCategory;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose()
-     */
-    public void dispose() {
-        fListeners = new ListenerList();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removeBreakpoint(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
-     */
-    public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category) {
-        // do nothing, not supported by default
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-     */
-    public void removePropertyChangeListener(IPropertyChangeListener listener) {
-        fListeners.remove(listener);
-    }
-    
-    /**
-     * Fires a property change notification for the given category.
-     * 
-     * @param category category that has changed
-     */
-    protected void fireCategoryChanged(IAdaptable category) {
-        if (fListeners.isEmpty()) {
-            return;
-        }
-        final PropertyChangeEvent event = new PropertyChangeEvent(this, P_CATEGORY_CHANGED, category, null);
-        Object[] listeners = fListeners.getListeners();
-        for (int i = 0; i < listeners.length; i++) {
-            final IPropertyChangeListener listener = (IPropertyChangeListener) listeners[i];
-            ISafeRunnable runnable = new ISafeRunnable() {
-                public void handleException(Throwable exception) {
-                    DebugUIPlugin.log(exception);
-                }
-                public void run() throws Exception {
-                    listener.propertyChange(event);
-                }
-            };
-            SafeRunner.run(runnable);
-        }
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories()
-     */
-    public IAdaptable[] getCategories() {
-        return null;
-    }
-}
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 eb6301c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
+++ /dev/null
@@ -1,998 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import java.util.ArrayList;
-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 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.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-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 adapter 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>
- * <li>Notification when this view becomes visible and becomes
- * 		hidden via <code>becomesVisible()</code> and <code>becomesHidden()</code>.</li>
- * <li>Linking of a help context id via <code>getHelpContextId().</code></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;
-	
-	private static Set fgGlobalActionIds;
-	static {
-		fgGlobalActionIds = new HashSet();
-		fgGlobalActionIds.add(SELECT_ALL_ACTION);
-		fgGlobalActionIds.add(COPY_ACTION);
-		fgGlobalActionIds.add(CUT_ACTION);
-		fgGlobalActionIds.add(PASTE_ACTION);
-		fgGlobalActionIds.add(FIND_ACTION);
-		fgGlobalActionIds.add(ActionFactory.UNDO.getId());
-		fgGlobalActionIds.add(ActionFactory.REDO.getId());
-	}
-
-	/**
-	 * 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 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) {
-			PlatformUI.getWorkbench().getHelpSystem().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
-     * @since 3.1
-	 */
-	protected 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 (fgGlobalActionIds.contains(actionID)) {
-			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 e67eee5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 {
-//	 TODO Add in accessor methods for createGroup, createLabel and createSingleText from SWTUtil post 3.2 API freeze
-	
-	/**
-	 * 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 defae2d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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/BreakpointTypeCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/BreakpointTypeCategory.java
deleted file mode 100644
index 32e60a0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/BreakpointTypeCategory.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Default implementation for a breakpoint type category.
- * <p>
- * Clients providing breakpoint type category adapters may instantiate
- * and subclass this class.
- * </p>
- * @since 3.1
- */
-public class BreakpointTypeCategory extends PlatformObject implements IBreakpointTypeCategory, IWorkbenchAdapter {
-
-	private String fName;
-	private ImageDescriptor fImageDescriptor = DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJS_BREAKPOINT_TYPE);
-	
-	/**
-	 * Constructs a type category for the given type name.
-	 * 
-	 * @param name breakpoint type name
-	 */
-	public BreakpointTypeCategory(String name) {
-		fName = name;
-	}
-	
-	/**
-	 * Constructs a type category for the given type name with the given
-	 * image.
-	 * 
-	 * @param name breakpoint type name
-	 * @param descriptor image descriptor
-	 */
-	public BreakpointTypeCategory(String name, ImageDescriptor descriptor) {
-		fName = name;
-		if (descriptor != null) {
-			fImageDescriptor = descriptor;
-		}
-	}
-	
-	/**
-	 * Returns the name of this category's breakpoint type.
-	 * 
-	 * @return the name of this category's breakpoint type
-	 */
-	protected String getName() {
-		return fName;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (object instanceof BreakpointTypeCategory) {
-			BreakpointTypeCategory type = (BreakpointTypeCategory) object;
-			return type.getName().equals(getName());
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-
-	/* (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 fImageDescriptor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		return getName();
-	}
-
-	/* (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/ui/CommonTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
deleted file mode 100644
index 9cc9fc2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
+++ /dev/null
@@ -1,848 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
- 
-import com.ibm.icu.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.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTUtil;
-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.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-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.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.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchEncoding;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.ide.IDEEncoding;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * 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 {
-	
-	/**
-	 * Provides a persistable dialog for selecting the sharded project location
-	 * @since 3.2
-	 */
-	class SharedLocationSelectionDialog extends ContainerSelectionDialog {
-		private final String SETTINGS_ID = IDebugUIConstants.PLUGIN_ID + ".SHARED_LAUNCH_CONFIGURATON_DIALOG"; //$NON-NLS-1$
-		
-		public SharedLocationSelectionDialog(Shell parentShell, IContainer initialRoot, boolean allowNewContainerName, String message) {
-			super(parentShell, initialRoot, allowNewContainerName, message);
-		}
-
-		protected IDialogSettings getDialogBoundsSettings() {
-			IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-			IDialogSettings section = settings.getSection(SETTINGS_ID);
-			if (section == null) {
-				section = settings.addNewSection(SETTINGS_ID);
-			} 
-			return section;
-		}
-	}
-	
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	
-	// Local/shared UI widgets
-	private Button fLocalRadioButton;
-	private Button fSharedRadioButton;
-	private Text fSharedLocationText;
-	private Button fSharedLocationButton;
-	private Button fLaunchInBackgroundButton;
-    private Button fDefaultEncodingButton;
-    private Button fAltEncodingButton;
-    private Combo fEncodingCombo;
-    private Button fConsoleOutput;
-    private Button fFileOutput;
-    private Button fFileBrowse;
-    private Text fFileText;
-    private Button fVariables;
-    private Button fAppend;
-    private Button fWorkspaceBrowse;
-	
-	/**
-	 * 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();
-		}
-	};
-    
-	/* (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);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB);
-		comp.setLayout(new GridLayout(2, true));
-		comp.setFont(parent.getFont());
-		
-		createSharedConfigComponent(comp);
-		createFavoritesComponent(comp);
-		createEncodingComponent(comp);
-		createOutputCaptureComponent(comp);
-		createLaunchInBackgroundComponent(comp);
-	}
-	
-	/**
-	 * Creates the favorites control
-	 * @param parent the parent composite to add this one to
-	 * @since 3.2
-	 */
-	private void createFavoritesComponent(Composite parent) {
-		Group favComp = SWTUtil.createGroup(parent, LaunchConfigurationsMessages.CommonTab_Display_in_favorites_menu__10, 1, 1, GridData.FILL_BOTH);
-		fFavoritesTable = CheckboxTableViewer.newCheckList(favComp, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		Control table = fFavoritesTable.getControl();
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		table.setLayoutData(gd);
-		table.setFont(parent.getFont());
-		fFavoritesTable.setContentProvider(new FavoritesContentProvider());
-		fFavoritesTable.setLabelProvider(new FavoritesLabelProvider());
-		fFavoritesTable.addCheckStateListener(new ICheckStateListener() {
-				public void checkStateChanged(CheckStateChangedEvent event) {
-					updateLaunchConfigurationDialog();
-				}
-			});
-	}
-	
-	/**
-	 * Creates the shared config component
-	 * @param parent the parent composite to add this component to
-	 * @since 3.2
-	 */
-	private void createSharedConfigComponent(Composite parent) {
-		Group group = SWTUtil.createGroup(parent, LaunchConfigurationsMessages.CommonTab_0, 3, 2, GridData.FILL_HORIZONTAL);
-		fLocalRadioButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_L_ocal_3);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 3;
-		fLocalRadioButton.setLayoutData(gd);
-		fSharedRadioButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_S_hared_4);
-		fSharedRadioButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleSharedRadioButtonSelected();
-			}
-		});
-		fSharedLocationText = SWTUtil.createSingleText(group, 1);
-		fSharedLocationText.addModifyListener(fBasicModifyListener);
-		fSharedLocationButton = createPushButton(group, LaunchConfigurationsMessages.CommonTab__Browse_6, null);	 
-		fSharedLocationButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleSharedLocationButtonSelected();
-			}
-		});	
-
-		fLocalRadioButton.setSelection(true);
-		setSharedEnabled(false);	
-	}
-	
-    /**
-     * Creates the component set for the capture output composite
-     * @param parent the parent to add this component to
-     */
-    private void createOutputCaptureComponent(Composite parent) {
-        Group group = SWTUtil.createGroup(parent, LaunchConfigurationsMessages.CommonTab_4, 5, 2, GridData.FILL_HORIZONTAL);
-        
-        fConsoleOutput = createCheckButton(group, LaunchConfigurationsMessages.CommonTab_5); 
-        GridData gd = new GridData(SWT.BEGINNING, SWT.NORMAL, true, false);
-        gd.horizontalSpan = 5;
-        fConsoleOutput.setLayoutData(gd);
-        fConsoleOutput.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                updateLaunchConfigurationDialog();
-            }
-        });
-        
-        fFileOutput = createCheckButton(group, LaunchConfigurationsMessages.CommonTab_6); 
-        fFileOutput.setLayoutData(new GridData(SWT.BEGINNING, SWT.NORMAL, false, false));
-        fFileOutput.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                enableOuputCaptureWidgets(fFileOutput.getSelection());
-                updateLaunchConfigurationDialog();
-            }
-        });
-        fFileText = SWTUtil.createSingleText(group, 4);
-        fFileText.addModifyListener(fBasicModifyListener);
-        
-        SWTUtil.createLabel(group, EMPTY_STRING, 2);
-        
-        fWorkspaceBrowse = createPushButton(group, LaunchConfigurationsMessages.CommonTab_12, null); 
-        fWorkspaceBrowse.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(), new WorkbenchContentProvider());
-                dialog.setTitle(LaunchConfigurationsMessages.CommonTab_13); 
-                dialog.setMessage(LaunchConfigurationsMessages.CommonTab_14); 
-                dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); 
-                dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-                if (dialog.open() == IDialogConstants.OK_ID) {
-                    IResource resource = (IResource) dialog.getFirstResult();
-                    String arg = resource.getFullPath().toString();
-                    String fileLoc = VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", arg); //$NON-NLS-1$
-                    fFileText.setText(fileLoc);
-                }
-            }
-        });
-        fFileBrowse = createPushButton(group, LaunchConfigurationsMessages.CommonTab_7, null);
-        fFileBrowse.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                String filePath = fFileText.getText();
-                FileDialog dialog = new FileDialog(getShell(), SWT.SAVE);
-                filePath = dialog.open();
-                if (filePath != null) {
-                    fFileText.setText(filePath);
-                }
-            }
-        });
-        fVariables = createPushButton(group, LaunchConfigurationsMessages.CommonTab_9, null); 
-        fVariables.addSelectionListener(new SelectionListener() {
-            public void widgetSelected(SelectionEvent e) {
-                StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
-				dialog.open();
-				String variable = dialog.getVariableExpression();
-				if (variable != null) {
-					fFileText.insert(variable);
-				}
-            }
-            public void widgetDefaultSelected(SelectionEvent e) {}
-        });
-        fAppend = createCheckButton(group, LaunchConfigurationsMessages.CommonTab_11); 
-        gd = new GridData(SWT.LEFT, SWT.TOP, true, false);
-        gd.horizontalSpan = 4;
-        fAppend.setLayoutData(gd);
-		fAppend.addSelectionListener(new SelectionAdapter() {
-		    public void widgetSelected(SelectionEvent e) {
-		        updateLaunchConfigurationDialog();
-		    }
-		});   
-    }
-
-    /**
-     * Eanbles or disables the ouptput capture widgets based on the the specified enablement
-     * @param enable if the output capture widgets should be enabled or not
-     * @since 3.2
-     */
-    private void enableOuputCaptureWidgets(boolean enable) {
-    	fFileText.setEnabled(enable);
-        fFileBrowse.setEnabled(enable);
-        fWorkspaceBrowse.setEnabled(enable);
-        fVariables.setEnabled(enable);
-        fAppend.setEnabled(enable);
-    }
-    
-    /**
-     * Creates the encoding component
-     * @param parent the parent to add this composite to
-     */
-    private void createEncodingComponent(Composite parent) {
-	    List allEncodings = IDEEncoding.getIDEEncodings();
-	    String defaultEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding();
-	    Group group = SWTUtil.createGroup(parent, LaunchConfigurationsMessages.CommonTab_1, 2, 1, GridData.FILL_BOTH);
-	    
-	    fDefaultEncodingButton = createRadioButton(group, MessageFormat.format(LaunchConfigurationsMessages.CommonTab_2, new String[]{defaultEncoding})); 
-	    GridData gd = new GridData(SWT.BEGINNING, SWT.NORMAL, true, false);
-	    gd.horizontalSpan = 2;
-	    fDefaultEncodingButton.setLayoutData(gd);
-	    
-	    fAltEncodingButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_3);  
-	    fAltEncodingButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-	    
-	    fEncodingCombo = new Combo(group, SWT.READ_ONLY);
-	    fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	    fEncodingCombo.setFont(parent.getFont());
-        String[] encodingArray = (String[]) allEncodings.toArray(new String[0]);
-	    fEncodingCombo.setItems(encodingArray);
-        if (encodingArray.length > 0) {
-            fEncodingCombo.select(0); 
-        }
-	    SelectionListener listener = new SelectionAdapter() {
-	        public void widgetSelected(SelectionEvent e) {
-	            updateLaunchConfigurationDialog();
-	            fEncodingCombo.setEnabled(fAltEncodingButton.getSelection() == true);
-	        }
-	    };
-	    fAltEncodingButton.addSelectionListener(listener);
-	    fDefaultEncodingButton.addSelectionListener(listener);
-	    fEncodingCombo.addSelectionListener(listener);
-	}
-
-	/**
-	 * 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.CommonTab_10); 
-		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();
-			}
-		});
-	}
-
-	/**
-	 * handles the shared radio button being selected
-	 */
-	private void handleSharedRadioButtonSelected() {
-		setSharedEnabled(isShared());
-		updateLaunchConfigurationDialog();
-	}
-	
-	/**
-	 * Sets the widgets for specifying that a launch configuraiton is to be shared to the enable value
-	 * @param enable the enabled value for 
-	 */
-	private void setSharedEnabled(boolean enable) {
-		fSharedLocationText.setEnabled(enable);
-		fSharedLocationButton.setEnabled(enable);
-	}
-	
-	private String getDefaultSharedConfigLocation(ILaunchConfiguration config) {
-		String path = EMPTY_STRING;
-		try {
-			IResource[] res = config.getMappedResources();
-			if(res != null) {
-				IProject  proj;
-				for (int i = 0; i < res.length; i++) {
-					proj = res[i].getProject();
-					if(proj.isAccessible()) {
-						return proj.getFullPath().toOSString();
-					}
-				}
-			}
-		} 
-		catch (CoreException e) {DebugUIPlugin.log(e);}
-		return path;
-	}
-	
-	/**
-	 * if the shared radio button is selected, indicating that the launch configuration is to be shared
-	 * @return true if the radio button is selected, false otherwise
-	 */
-	private boolean isShared() {
-		return fSharedRadioButton.getSelection();
-	}
-	
-	/**
-	 * Handles the shared location button being selected
-	 */
-	private void handleSharedLocationButtonSelected() { 
-		String currentContainerString = fSharedLocationText.getText();
-		IContainer currentContainer = getContainer(currentContainerString);
-		SharedLocationSelectionDialog dialog = new SharedLocationSelectionDialog(getShell(),
-				   currentContainer,
-				   false,
-				   LaunchConfigurationsMessages.CommonTab_Select_a_location_for_the_launch_configuration_13);
-		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();
-			fSharedLocationText.setText(containerName);
-		}		
-	}
-	
-	/**
-	 * gets the container form the specified path
-	 * @param path the path to get the container from
-	 * @return the container for the specified path or null if one cannot be determined
-	 */
-	private IContainer getContainer(String path) {
-		Path containerPath = new Path(path);
-		return (IContainer) getWorkspaceRoot().findMember(containerPath);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		boolean isShared = !configuration.isLocal();
-		fSharedRadioButton.setSelection(isShared);
-		fLocalRadioButton.setSelection(!isShared);
-		setSharedEnabled(isShared);
-		fSharedLocationText.setText(getDefaultSharedConfigLocation(configuration));
-		if(isShared) {
-			String containerName = EMPTY_STRING;
-			IFile file = configuration.getFile();
-			if (file != null) {
-				IContainer parent = file.getParent();
-				if (parent != null) {
-					containerName = parent.getFullPath().toOSString();
-				}
-			}
-			fSharedLocationText.setText(containerName);
-		}
-		updateFavoritesFromConfig(configuration);
-		updateLaunchInBackground(configuration);
-		updateEncoding(configuration);
-		updateConsoleOutput(configuration);
-	}
-	
-    /**
-     * Updates the console output form the local configuration
-     * @param configuration the local configuration
-     */
-    private void updateConsoleOutput(ILaunchConfiguration configuration) {
-        boolean outputToConsole = true;
-        String outputFile = null;
-        boolean append = false;
-        
-        try {
-            outputToConsole = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, true);
-            outputFile = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String)null);
-            append = configuration.getAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, false);
-        } catch (CoreException e) {
-        }
-        
-        fConsoleOutput.setSelection(outputToConsole);
-        fAppend.setSelection(append);
-        boolean haveOutputFile= outputFile != null;
-        if (haveOutputFile) {
-            fFileText.setText(outputFile);
-        }
-        fFileOutput.setSelection(haveOutputFile);
-        enableOuputCaptureWidgets(haveOutputFile);
-    }
-
-    /**
-     * Updates the launch on background check button
-     * @param configuration the local launch configuration
-     */
-    protected void updateLaunchInBackground(ILaunchConfiguration configuration) { 
-		fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
-	}
-	
-	/**
-	 * Updates the encoding
-	 * @param configuration the local configuration
-	 */
-	private void updateEncoding(ILaunchConfiguration configuration) {
-	    String encoding = null;
-	    try {
-	        encoding = configuration.getAttribute(IDebugUIConstants.ATTR_CONSOLE_ENCODING, (String)null);
-        } catch (CoreException e) {
-        }
-        
-        if (encoding != null) {
-            fAltEncodingButton.setSelection(true);
-            fDefaultEncodingButton.setSelection(false);
-            fEncodingCombo.setText(encoding);
-            fEncodingCombo.setEnabled(true);
-        } else {
-            fDefaultEncodingButton.setSelection(true);
-            fAltEncodingButton.setSelection(false);
-            fEncodingCombo.setEnabled(false);
-        }
-	}
-	
-	/**
-	 * 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;
-	}
-
-	/**
-	 * Updates the favorites selections from the local configuration
-	 * @param config the local configuration
-	 */
-	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);
-		}
-	}
-
-	/**
-	 * Updates the configuration form the local shared config working copy
-	 * @param config the local sharded config working copy
-	 */
-	private void updateConfigFromLocalShared(ILaunchConfigurationWorkingCopy config) {
-		if (isShared()) {
-			String containerPathString = fSharedLocationText.getText();
-			IContainer container = getContainer(containerPathString);
-			config.setContainer(container);
-		} else {
-			config.setContainer(null);
-		}
-	}
-	
-	/**
-	 * Convenience accessor
-	 */
-	protected LaunchConfigurationManager getLaunchConfigurationManager() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-	}
-	
-	/**
-	 * Update the favorite settings.
-	 * 
-	 * NOTE: set to <code>null</code> instead of <code>false</code> 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;
-					}
-				}
-			} 
-			config.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String)null);
-			config.setAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, (String)null);
-			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();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		setMessage(null);
-		setErrorMessage(null);
-		
-		return validateLocalShared() && validateRedirectFile() && validateEncoding();
-	}
-	
-    /**
-     * validates the encoding selection
-     * @return true if the validate encoding is allowable, false otherwise
-     */
-    private boolean validateEncoding() {
-        if (fAltEncodingButton.getSelection()) {
-            if (fEncodingCombo.getSelectionIndex() == -1) {
-                setErrorMessage(LaunchConfigurationsMessages.CommonTab_No_Encoding_Selected);
-                return false;
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Valdates if the redirect file is valid
-     * @return true if the filename is not zero, false otherwise
-     */
-    private boolean validateRedirectFile() {
-        if(fFileOutput.getSelection()) {
-            int len = fFileText.getText().trim().length();
-            if (len == 0) {
-                setErrorMessage(LaunchConfigurationsMessages.CommonTab_8); 
-                return false;
-            }
-        }
-        return true;
-    }
-
-    /**
-     * validates the local shared config file location
-     * @return true if the local sharded file exists, false otherwsie
-     */
-    private boolean validateLocalShared() {
-		if (isShared()) {
-			String path = fSharedLocationText.getText().trim();
-			IContainer container = getContainer(path);
-			if (container == null || container.equals(ResourcesPlugin.getWorkspace().getRoot())) {
-				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Invalid_shared_configuration_location_14); 
-				return false;
-			} else if (!container.getProject().isOpen()) {
-				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Cannot_save_launch_configuration_in_a_closed_project__1); 
-				return false;				
-			}
-		}
-		
-		return true;		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		config.setContainer(null);
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		updateConfigFromLocalShared(configuration);
-		updateConfigFromFavorites(configuration);
-		setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, configuration, fLaunchInBackgroundButton.getSelection(), true);
-		String encoding = null;
-		if(fAltEncodingButton.getSelection()) {
-		    encoding = fEncodingCombo.getText();
-		}
-		configuration.setAttribute(IDebugUIConstants.ATTR_CONSOLE_ENCODING, encoding);
-		boolean captureOutput = false;
-		if (fConsoleOutput.getSelection()) {
-		    captureOutput = true;
-		    configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, (String)null);
-		} else {
-		    configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, false);
-		}
-		if (fFileOutput.getSelection()) {
-		    captureOutput = true;
-		    String file = fFileText.getText();
-		    configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, file);
-		    if(fAppend.getSelection()) {
-		        configuration.setAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, true);
-		    } else {
-		        configuration.setAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, (String)null);
-		    }
-		} else {
-		    configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String)null);
-		}
-		
-		if (!captureOutput) {
-		    configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false);
-		} else {
-		    configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, (String)null);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LaunchConfigurationsMessages.CommonTab__Common_15; 
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
-	 */
-	public boolean canSave() {
-		return validateLocalShared();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return DebugUITools.getImage(IInternalDebugUIConstants.IMG_OBJS_COMMON_TAB);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {}
-
-	/**
-	 * Content provider for the favorites table
-	 */
-	class FavoritesContentProvider implements IStructuredContentProvider {
-
-		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();
-		}
-
-		public void dispose() {}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-
-	}
-	
-	/**
-	 * Provides the labels for the favorites table
-	 *
-	 */
-	class FavoritesLabelProvider implements ITableLabelProvider {
-		
-		private Map fImages = new HashMap();
-
-		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;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			String label = ((LaunchGroupExtension)element).getLabel();
-			return DebugUIPlugin.removeAccelerators(label);
-		}
-
-		public void addListener(ILabelProviderListener listener) {}
-
-		public void dispose() {
-			Iterator images = fImages.values().iterator();
-			while (images.hasNext()) {
-				Image image = (Image)images.next();
-				image.dispose();
-			}
-		}
-
-		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/ui/DebugElementWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugElementWorkbenchAdapter.java
deleted file mode 100644
index f3f1b78..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugElementWorkbenchAdapter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import org.eclipse.debug.internal.ui.views.launch.DebugElementHelper;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter2;
-
-/**
- * Common function for debug element workbench adapters.
- * <p>
- * Clients may subclass this class to provide custom adapters for elements in a debug
- * model. The debug platform provides <code>IWorkbenchAdapters</code> for the standard debug
- * elements. Clients may override the default content in the debug view by providing an
- * <code>IWorkbenchAdapter</code> or <code>IDeferredWorkbenchAdapter</code> for a debug
- * element.
- * </p>
- * @since 3.1
- */
-public abstract class DebugElementWorkbenchAdapter implements IWorkbenchAdapter, IWorkbenchAdapter2 {
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-     */
-    public ImageDescriptor getImageDescriptor(Object object) {
-        return DebugElementHelper.getImageDescriptor(object);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-     */
-    public String getLabel(Object o) {
-        return DebugElementHelper.getLabel(o);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter2#getForeground(java.lang.Object)
-     */
-    public RGB getForeground(Object element) {
-        return DebugElementHelper.getForeground(element);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter2#getBackground(java.lang.Object)
-     */
-    public RGB getBackground(Object element) {
-        return DebugElementHelper.getBackground(element);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter2#getFont(java.lang.Object)
-     */
-    public FontData getFont(Object element) {
-        return DebugElementHelper.getFont(element);
-    }
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java
deleted file mode 100644
index 754ab45..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui;
-
-import com.ibm.icu.text.MessageFormat;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.PopupDialog;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.IHandlerActivation;
-import org.eclipse.ui.handlers.IHandlerService;
-import org.eclipse.ui.keys.IBindingService;
-
-/**
- * A <code>PopupDialog</code> that is automatically positioned relative
- * to a specified anchor point. The popup can be dismissed in the same
- * manor as all popup dialogs, but additionally allows clients the option
- * of specifying a command id that can be used to persist the contents of
- * the dialog.
- * <p>
- * Clients may subclass this.
- * </p>
- * <p>
- * Note: This class subclasses {@link org.eclipse.jface.dialogs.PopupDialog}
- * which is currently marked as experimental API. Users should therefore consider
- * this class to be experimental as well.
- * <p>
- * @since 3.2
- */
-public abstract class DebugPopup extends PopupDialog {
-
-    private Point fAnchor;
-
-    private IHandlerActivation fActivation;
-
-    private IHandlerService fHandlerService;
-
-	private String fCommandId;
-	
-	private boolean fPersisted = false;
-
-    /**
-     * Constructs a new popup dialog of type <code>PopupDialog.INFOPOPUPRESIZE_SHELLSTYLE</code>
-     * @param parent The parent shell
-     * @param anchor point at which to anchor the popup dialog in Display coordinate space
-     * @param commandId The command id to be used for persistence of 
-     *  the dialog, or <code>null</code>
-     */
-    public DebugPopup(Shell parent, Point anchor, String commandId) {
-        super(parent, PopupDialog.INFOPOPUPRESIZE_SHELLSTYLE, true, true, false, true, null, null);
-        fAnchor = anchor;
-        fCommandId = commandId;
-    }
-
-    /**
-     * Returns the text to be shown in the popups's info area. 
-     * May return <code>null</code>.
-     * <p>
-     * By default, if this dialog has a persistence command associated with it,
-     * the text displayed is of the form "Press {key-sequence} to {action}". The
-     * action text is specified by the method <code>getActionText()</code>.
-     * </p>
-     * @return The text to be shown in the popup's info area or <code>null</code>
-     */
-    protected String getInfoText() {
-    	if (getCommandId() != null && getActionText() != null) {
-	        IWorkbench workbench = PlatformUI.getWorkbench();
-	        IBindingService bindingService = (IBindingService) workbench.getAdapter(IBindingService.class);
-	        String formattedBinding = bindingService.getBestActiveBindingFormattedFor(getCommandId());
-	        
-	        String infoText = null;
-	        if (formattedBinding != null) {
-	             infoText = MessageFormat.format(DebugUIViewsMessages.InspectPopupDialog_1, new String[] { formattedBinding, getActionText()});
-	        }
-	        return infoText;
-    	}
-    	return null;
-    }
-    
-    /**
-     * Returns the text to be shown as the action performed when this dialog's
-     * persist command is invoked, or <code>null</code>.
-     * <p>
-     * Subclasses should override as necessary.
-     * </p>
-     * @return the text to be shown as the action performed when this dialog's
-     *  persist command is invoked
-     */
-    protected String getActionText() {
-    	return null;
-    }
-
-    /**
-     * Returns the command id to be used for persisting the contents of the
-     * dialog. If the contents should not be persisted, this method should 
-     * return null. 
-     * 
-     * @return The command id to be used for persisting the contents of the
-     * dialog or <code>null</code>
-     */
-    protected String getCommandId() {
-        return fCommandId;
-    }
-
-    /**
-     * Persists the contents of the dialog. Subclasses should override as required,
-     * but also call super.persist().
-     */
-    protected void persist() {
-    	fPersisted = true;
-    }
-    
-    /**
-     * Returns whether the command handler was invoked to persist this popup's result.
-     * 
-     * @return whether the command handler was invoked to persist this popup's result
-     */
-    protected boolean wasPersisted() {
-    	return fPersisted;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.PopupDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-     */
-    protected abstract Control createDialogArea(Composite parent);
-
-
-    /**
-     * Returns the initial location to use for the shell based upon the 
-     * current selection in the viewer. Bottom is preferred to top, and 
-     * right is preferred to left, therefore if possible the popup will
-     * be located below and to the right of the selection.
-     * 
-     * @param initialSize
-     *            the initial size of the shell, as returned by
-     *            <code>getInitialSize</code>.
-     * @return the initial location of the shell
-     */
-    protected Point getInitialLocation(Point initialSize) {
-        Point point = fAnchor;
-        Rectangle monitor = getShell().getMonitor().getClientArea();
-        if (monitor.width < point.x + initialSize.x) {
-            point.x = Math.max(0, point.x - initialSize.x);
-        }
-        if (monitor.height < point.y + initialSize.y) {
-            point.y = Math.max(0, point.y - initialSize.y);
-        }
-        return point;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.PopupDialog#getDialogSettings()
-     */
-    protected IDialogSettings getDialogSettings() {
-        IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-        return settings;
-    }
-
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.PopupDialog#open()
-     */
-    public int open() {
-        IWorkbench workbench = PlatformUI.getWorkbench();
-        String commandId = getCommandId();
-        if (commandId != null) {
-            IHandler fCloseHandler = new AbstractHandler() {
-                public Object execute(ExecutionEvent event) throws ExecutionException {
-                    persist();
-                    close();
-                    return null;
-                }
-            };
-
-            fHandlerService = (IHandlerService) workbench.getAdapter(IHandlerService.class);
-            fActivation = fHandlerService.activateHandler(commandId, fCloseHandler);
-        }
-
-        String infoText = getInfoText();
-        if (infoText != null)
-            setInfoText(infoText);
-        
-        return super.open();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.PopupDialog#close()
-     */
-    public boolean close() {
-        if (fActivation != null)
-            fHandlerService.deactivateHandler(fActivation);
-
-        return super.close();
-    }
-}
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 2319245..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
+++ /dev/null
@@ -1,749 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.core.model.ISourceLocator;
-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.contexts.DebugContextManager;
-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.memory.MemoryRenderingManager;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupFacility;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIUtils;
-import org.eclipse.debug.internal.ui.stringsubstitution.SelectedResourceManager;
-import org.eclipse.debug.ui.memory.IMemoryRenderingManager;
-import org.eclipse.debug.ui.sourcelookup.ISourceContainerBrowser;
-import org.eclipse.debug.ui.sourcelookup.ISourceLookupResult;
-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.window.Window;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-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 plug-in 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 plug-in.
-	 *
-	 * @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.
-	 * <p>
-	 * This method used to return <code>null</code> when called from a non-UI thread,
-	 * but since 3.1, this methods also works when called from a non-UI thread.
-	 * </p>
-	 * @return the currently selected debug context, or <code>null</code>
-	 * @since 2.0
-	 */
-	public static IAdaptable getDebugContext() {
-	    IWorkbenchWindow activeWindow = SelectedResourceManager.getDefault().getActiveWindow();
-	    if (activeWindow != null) {
-	    	ISelection activeContext = DebugContextManager.getDefault().getActiveContext(activeWindow);
-	    	if (activeContext instanceof IStructuredSelection) {
-	    		IStructuredSelection selection = (IStructuredSelection) activeContext;
-	    		if (!selection.isEmpty()) {
-	    			Object firstElement = selection.getFirstElement();
-	    			if (firstElement instanceof IAdaptable) {
-						return (IAdaptable) firstElement;
-					}
-	    		}
-	    	}
-	    }
-	    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 adapter
-	 * associated 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 groupIdentifier 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 groupIdentifier 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 groupIdentifier 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 editors:<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
-	 * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
-	 * of resources that are only involved in the current launch, no longer the entire workspace
-	 */
-	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 editors:<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
-	 * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
-	 * of resources that are only involved in the current launch, no longer the entire workspace
-	 */
-	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 configuration 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().getProcessConsoleManager().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
-	 * @since 3.0
-	 */
-	public static ILaunchGroup getLaunchGroup(ILaunchConfiguration configuration, String mode) {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(configuration, mode);
-	}
-	
-    /**
-     * Performs source lookup on the given artifact and returns the result.
-     * Optionally, a source locator may be specified.
-     *  
-     * @param artifact object for which source is to be resolved
-     * @param locator the source locator to use, or <code>null</code>. When <code>null</code>
-     *   a source locator is determined from the artifact, if possible. If the artifact
-     *   is a debug element, the source locator from its associated launch is used. 
-     * @return a source lookup result
-     * @since 3.1
-     */
-    public static ISourceLookupResult lookupSource(Object artifact, ISourceLocator locator) {	
-    	return SourceLookupFacility.getDefault().lookup(artifact, locator);
-    }
-	
-    /**
-     * Displays the given source lookup result in an editor in the given workbench
-     * page. Has no effect if the result has an unknown editor id or editor input.
-     * The editor is opened, positioned, and annotated.
-     * <p>
-     * Honors user preference for editors re-use.
-     * </p> 
-     * @param result source lookup result to display
-     * @param page the page to display the result in
-     * @since 3.1
-     */
-    public static void displaySource(ISourceLookupResult result, IWorkbenchPage page) {
-    	SourceLookupFacility.getDefault().display(result, page);
-    }
-    
-    /**
-     * Returns the memory rendering manager.
-     * 
-     * @return the memory rendering manager
-     * @since 3.1
-     */
-    public static IMemoryRenderingManager getMemoryRenderingManager() {
-        return MemoryRenderingManager.getDefault();
-    }
-    
-	/**
-	 * Returns the image associated with the specified type of source container
-	 * or <code>null</code> if none.
-	 * 
-	 * @param id unique identifier for a source container type
-	 * @return image associated with the specified type of source container
-	 *    or <code>null</code> if none
-	 * @since 3.2
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
-	 */
-	public static Image getSourceContainerImage(String id){
-		return SourceLookupUIUtils.getSourceContainerImage(id);
-	}
-	
-	/**
-	 * Returns a new source container browser for the specified type of source container
-	 * or <code>null</code> if a browser has not been registered.
-	 * 
-	 * @param id unique identifier for a source container type
-	 * @return source container browser or <code>null</code> if none
-	 * @since 3.2
-	 * @see org.eclipse.debug.ui.sourcelookup.ISourceContainerBrowser
-	 */
-	public static ISourceContainerBrowser getSourceContainerBrowser(String id) {
-		return SourceLookupUIUtils.getSourceContainerBrowser(id);
-	}
-	
-	/**
-	 * Returns the color associated with the specified preference identifier or 
-	 * <code>null</code> if none.
-	 * 
-	 * @param id preference identifier of the color
-	 * @return the color associated with the specified preference identifier
-	 * 	or <code>null</code> if none
-	 * @since 3.2
-	 * @see IDebugUIConstants
-	 */
-	public static Color getPreferenceColor(String id) {
-		return DebugUIPlugin.getPreferenceColor(id);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DeferredDebugElementWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DeferredDebugElementWorkbenchAdapter.java
deleted file mode 100644
index 85cf2e0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DeferredDebugElementWorkbenchAdapter.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-import org.eclipse.ui.progress.IElementCollector;
-
-
-/**
- * Common function for a deferred workbench adapter for a debug element. 
- * <p>
- * Clients may subclass this class to provide custom adapters for elements in a debug
- * model. The debug platform provides <code>IDeferredWorkbenchAdapters</code> for the standard debug
- * elements. Clients may override the default content in the debug view by providing an
- * <code>IWorkbenchAdapter</code> or <code>IDeferredWorkbenchAdapter</code> for a debug
- * element.
- * </p>
- * @since 3.1
- */
-public abstract class DeferredDebugElementWorkbenchAdapter extends DebugElementWorkbenchAdapter implements IDeferredWorkbenchAdapter {
-    
-	/**
-	 * An empty collection of children
-	 */
-    protected static final Object[] EMPTY = new Object[0];
-
-	/* (non-Javadoc)
-     * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#isContainer()
-     */
-    public boolean isContainer() {
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#getRule(java.lang.Object)
-     */
-    public ISchedulingRule getRule(Object object) {
-        return null;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#fetchDeferredChildren(java.lang.Object, org.eclipse.ui.progress.IElementCollector, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void fetchDeferredChildren(Object object, IElementCollector collector, IProgressMonitor monitor) {
-		if (monitor.isCanceled()) {
-			return;
-		}
-	    Object[] children = getChildren(object);
-	    if (monitor.isCanceled()) {
-	    	return;
-	    }
-	    if (children.length > 0) {
-	        collector.add(children, monitor);
-	    }
-	    collector.done();
-	}
-
-
-}
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 3042374..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
+++ /dev/null
@@ -1,666 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 Keith Seitz and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Keith Seitz (keiths@redhat.com) - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import com.ibm.icu.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.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.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.PlatformUI;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-
-/**
- * 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.EnvironmentTab_Variable_1, 
-		LaunchConfigurationsMessages.EnvironmentTab_Value_2, 
-	};
-	protected ColumnLayoutData[] envTableColumnLayouts =
-	{
-		new ColumnWeightData(50),
-		new ColumnWeightData(50)
-	};
-	private static final String NAME_LABEL= LaunchConfigurationsMessages.EnvironmentTab_8; 
-	private static final String VALUE_LABEL= LaunchConfigurationsMessages.EnvironmentTab_9; 
-	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) {
-			if (columnIndex == 0) {
-				return DebugPluginImages.getImage(IDebugUIConstants.IMG_OBJS_ENV_VAR);
-			}
-			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);
-		PlatformUI.getWorkbench().getHelpSystem().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.EnvironmentTab_16); 
-		appendEnvironment.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		replaceEnvironment= createRadioButton(appendReplaceComposite, LaunchConfigurationsMessages.EnvironmentTab_17); 
-	}
-	
-	/**
-	 * 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.EnvironmentTab_Environment_variables_to_set__3); 
-		// 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.EnvironmentTab_New_4, null); 
-		envAddButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleEnvAddButtonSelected();
-			}
-				});
-		envSelectButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_18, null); 
-		envSelectButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				handleEnvSelectButtonSelected();
-			}
-		});
-		envEditButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_Edit_5, null); 
-		envEditButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleEnvEditButtonSelected();
-			}
-		});
-		envEditButton.setEnabled(false);
-		envRemoveButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_Remove_6, null); 
-		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.EnvironmentTab_22); 
-		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.EnvironmentTab_12, MessageFormat.format(LaunchConfigurationsMessages.EnvironmentTab_13, new String[] {name})); // 
-				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.EnvironmentTab_19); 
-		dialog.setTitle(LaunchConfigurationsMessages.EnvironmentTab_20); 
-		
-		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 DebugPluginImages.getImage(IDebugUIConstants.IMG_OBJS_ENVIRONMENT);
-			}
-			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().getNativeEnvironmentCasePreserved();
-		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.EnvironmentTab_11); 
-		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.EnvironmentTab_Environment_7; 
-	}
-	
-	/* (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);
-		}
-		
-		/**
-		 * 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.dialogs.Dialog#getDialogBoundsSettings()
-	     */
-	    protected IDialogSettings getDialogBoundsSettings() {
-	    	 IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-	         IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-	         if (section == null) {
-	             section = settings.addNewSection(getDialogSettingsSectionName());
-	         } 
-	         return section;
-	    }
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegate.java
deleted file mode 100644
index 0ce0b56..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegate.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.util.IPropertyChangeListener;
-
-/**
- * A breakpoint organizer is used to categorize breakpoints and provides
- * change notification when categorization has changed. Categories are represented
- * as arbitrary adaptable objects. For example, projects could be used to
- * categorize breakpoints. Images and labels for categories are generated
- * via workbench adapaters.
- * <p>
- * Organizers may optionally support breakpoint recategorization. 
- * </p>
- * <p>
- * Following is example plug-in XML for contributing a breakpoint organizer.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.breakpointOrganizers"&gt;
- * 	&lt;breakpointOrganizer
- * 		class="com.example.BreakpointOrganizer"
- *      id="com.example.BreakpointOrganizer"
- *      label="Example Organizer"
- *      icon="icons/full/obj16/example_org.gif"/&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>class</code> Fully qualified name of a Java class that implements
- * {@link IBreakpointOrganizerDelegate}.</li>
- * <li><code>id</code> Unique identifier for this breakpoint organizer.</li>
- * <li><code>label</code> Label for this organizer which is suitable for
- * presentation to the user.</li>
- * <li><code>icon</code> Optional path to an icon which can be shown for this
- * organizer</li>
- * </ul>
- * </p>
- * <p>
- * Clients contributing a breakpoint organizer are intended to implement
- * this interface.
- * </p>
- * @since 3.1
- */
-public interface IBreakpointOrganizerDelegate {
-    
-    /**
-     * Change event id when a category's breakpoints have changed.
-     * The <code>oldValue</code> of the <code>PropertyChangeEvent</code> will be the
-     * category that has changed, and the source of the event will the the
-     * breakpoint organizer. Breakpoints in the category will be
-     * recategorized when this event is fired.
-     *
-     * @see IPropertyChangeListener
-     */
-    public static final String P_CATEGORY_CHANGED = DebugUIPlugin.getUniqueIdentifier() + ".P_CATEGORY_CHANGED"; //$NON-NLS-1$
-
-    /**
-     * Returns objects representing the categories of the specified
-     * breakpoint or <code>null</code> if this organizer cannot classify
-     * the breakpoint. Categories must return <code>true</code> when sent
-     * the message <code>equals(Object)</code> with an equivalent category
-     * as an argument.
-     * 
-     * @param breakpoint breakpoint to classify
-     * @return categories of the given breakpoint or <code>null</code>
-     */
-    public IAdaptable[] getCategories(IBreakpoint breakpoint);
-    
-    /**
-     * Adds the specified listener. Has no effect if an identical listener is
-     * already registered.
-     * 
-     * @param listener listener to add
-     */
-    public void addPropertyChangeListener(IPropertyChangeListener listener);
-    
-    /**
-     * Removes the specified listener. Has no effect if an identical listener
-     * is not already registered.
-     * 
-     * @param listener listener to remove
-     */
-    public void removePropertyChangeListener(IPropertyChangeListener listener);
-    
-    /**
-     * Adds the specified breakpoint to the given category. Only called
-     * if <code>canAdd(...)</code> returns <code>true</code> for the given
-     * breakpoint and category.
-     * 
-     * @param breakpoint breakpoint to recategorize
-     * @param category the breakpoint's new category
-     */
-    public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category);
-    
-    /**
-     * Removes the specified breakpoint from the given category. Only
-     * called if <code>canRemove(...)</code> returns <code>true</code> for
-     * the given breakpoint and category.
-     * 
-     * @param breakpoint breakpoint to recategorize
-     * @param category the category the breakpoint is remove from
-     */
-    public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category);
-    
-    /**
-     * Returns whether the given breakpoint can be categorized in the
-     * specified category.
-     *  
-     * @param breakpoint breakpoint to recatogorize
-     * @param category the category to add the breakpoint to
-     * @return whether the given breakpoint can be categorized in the
-     * specified category
-     */
-    public boolean canAdd(IBreakpoint breakpoint, IAdaptable category);
-    
-    /**
-     * Returns whether the given breakpoint can be removed from the given
-     * category.
-     * 
-     * @param breakpoint breakpoint to recategorize
-     * @param category the category to remove the breakpoint from
-     * @return whether the given breakpoint can be removed from the given
-     * category
-     */
-    public boolean canRemove(IBreakpoint breakpoint, IAdaptable category);
-    
-    /**
-     * Returns all categories managed by this organizer, or <code>null</code>.
-     * When <code>null</code> is returned, the breakpoints view only displays
-     * categories that contain breakpoints. When a collection of categories
-     * is returned the breakpoints will display all of the categories, some of
-     * which may be empty.
-     *  
-     * @return all categories managed by this organizer, or <code>null</code>
-     */
-    public IAdaptable[] getCategories();
-    
-    /**
-     * Disposes this breakpoint organizer.
-     */
-    public void dispose();
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointTypeCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointTypeCategory.java
deleted file mode 100644
index ddb1ea8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointTypeCategory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Represents a breakpoint's type to support organization of breakpoints
- * by type in the breakpoints view. A default breakpoint type adapter
- * is provided for breakpoints by the debug platform, but clients may override
- * the default adapter by providing their own adapter for breakpoints.
- * <p>
- * A breakpoint type category is an adaptable that must provide an
- * <code>IWorkbenchAdapter</code> such that it can be rendered in the
- * breakpoints view.
- * </p>
- * <p>
- * Implementations should ensure that <code>equals</code> and <code>hashCode</code>
- * are implemented properly to reflect the equality of type categories.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.ui.BreakpointTypeCategory
- * @since 3.1
- */
-public interface IBreakpointTypeCategory extends IAdaptable {
-
-}
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 645ec76..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugEditorPresentation.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 cdcbc3c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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>
- * Since 3.1, debug model presentations may optionally implement <code>IColorProvider</code>
- * and <code>IFontProvider</code> to override default fonts and colors for debug elements. 
- * </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 840309d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
+++ /dev/null
@@ -1,1147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     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$
-	
-	/**
-	 * Console type identifier (value <code>"org.eclipse.debug.ui.ProcessConsoleType"</code>).
-	 * 
-	 * @since 3.1
-	 */
-	public static final String ID_PROCESS_CONSOLE_TYPE = PLUGIN_ID + ".ProcessConsoleType"; //$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$
-	
-	/**
-	 * Preference for using step filters.
-	 * TODO: uncomment when API freeze is over
-	 * @since 3.2
-	 */
-	//public static final String PREF_USE_STEP_FILTERS = PLUGIN_ID + ".USE_STEP_FILTERS"; //$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$	
-	
-    /**
-     * Remove action image identifier
-     * 
-     * @since 3.2
-     */
-    public static final String IMG_LCL_REMOVE = "IMG_LCL_REMOVE"; //$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$
-	
-	/**
-	 * Breakpoint group image identifier.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String IMG_OBJS_BREAKPOINT_GROUP = "IMG_OBJS_BREAKPOINT_GROUP"; //$NON-NLS-1$
-	
-	/**
-	 * Disabled breakpoint group image identifier.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String IMG_OBJS_BREAKPOINT_GROUP_DISABLED = "IMG_OBJS_BREAKPOINT_GROUP_DISABLED"; //$NON-NLS-1$
-		
-	/**
-	 * Enabled watchpoint image identifier (access & modification).
-	 * @since 3.0
-	 */
-	public static final String IMG_OBJS_WATCHPOINT= "IMG_OBJS_WATCHPOINT"; //$NON-NLS-1$
-	
-	/**
-	 * Disabled watchpoint image identifier (access & modification).
-	 * @since 3.0
-	 */
-	public static final String IMG_OBJS_WATCHPOINT_DISABLED= "IMG_OBJS_WATCHPOINT_DISABLED"; //$NON-NLS-1$
-	
-	/**
-	 * Enabled access watchpoint image identifier.
-	 * @since 3.1
-	 */
-	public static final String IMG_OBJS_ACCESS_WATCHPOINT= "IMG_OBJS_ACCESS_WATCHPOINT"; //$NON-NLS-1$
-	
-	/**
-	 * Disabled access watchpoint image identifier.
-	 * @since 3.1
-	 */
-	public static final String IMG_OBJS_ACCESS_WATCHPOINT_DISABLED= "IMG_OBJS_ACCESS_WATCHPOINT_DISABLED"; //$NON-NLS-1$
-	
-	/**
-	 * Enabled modification watchpoint image identifier.
-	 * @since 3.1
-	 */
-	public static final String IMG_OBJS_MODIFICATION_WATCHPOINT= "IMG_OBJS_MODIFICATION_WATCHPOINT"; //$NON-NLS-1$
-	
-	/**
-	 * Disabled modification watchpoint image identifier.
-	 * @since 3.1
-	 */
-	public static final String IMG_OBJS_MODIFICATION_WATCHPOINT_DISABLED= "IMG_OBJS_MODIFICATION_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$
-
-    /**
-     * Skip breakpoint image overlay identifier.
-     * @since 3.1
-     */
-    public static final String IMG_OVR_SKIP_BREAKPOINT = "IMG_OVR_SKIP_BREAKPOINT"; //$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 a "breakpoint group" group in a menu (value <code>"breakpointGroupGroup"</code>).
-	 * 
-	 * @since 3.1
-	 */
-	public static final String BREAKPOINT_GROUP_GROUP = "breakpointGroupGroup"; //$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$
-	
-	/**
-	 * ProcessConsole attribute - references the process that was launched.
-	 * 
-	 * @since 3.1 
-	 */
-	public static final String ATTR_CONSOLE_PROCESS = PLUGIN_ID + ".ATTR_CONSOLE_PROCESS"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute specifying the encoding that the console should use.
-	 * When unspecified, the default encoding is used. Encoding names are available 
-	 * from {@link org.eclipse.ui.WorkbenchEncoding}.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String ATTR_CONSOLE_ENCODING = PLUGIN_ID + ".ATTR_CONSOLE_ENCODING"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration boolean attribute specifying whether output from the launched process will
-	 * be captured and written to the console. Default value is <code>true</code>.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String ATTR_CAPTURE_IN_CONSOLE = PLUGIN_ID + ".ATTR_CONSOLE_OUTPUT_ON"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute specifying a file name that console output should
-	 * be written to or <code>null</code> if none. Default value is <code>null</code>.
-	 * When specified, all output from the launched process will be written to the file.
-	 * The file name attribute may contain variables which will be resolved by the
-	 * {@link org.eclipse.core.variables.IStringVariableManager}.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String ATTR_CAPTURE_IN_FILE = PLUGIN_ID + ".ATTR_CAPTURE_IN_FILE"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute specifying whether process output will be appended to the
-	 * file specified by the <code>ATTR_CAPTURE_IN_FILE</code> attribute instead of overwriting
-	 * the file. Default value is <code>false</code>.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String ATTR_APPEND_TO_FILE = PLUGIN_ID + ".ATTR_APPEND_TO_FILE"; //$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$
-		
-	/**
-	 * Variable value editors extension point identifier (value
-	 * <code>"variableValueEditors"</code>
-     * 
-     * @since 3.1
-	 */
-	public static final String EXTENSION_POINT_VARIABLE_VALUE_EDITORS = "variableValueEditors"; //$NON-NLS-1$
-	
-    /**
-     * Memory renderings extension point identifier (value
-     * <code>"memoryRenderings"</code>
-     * 
-     * @since 3.1
-     */
-    public static final String EXTENSION_POINT_MEMORY_RENDERIGNS = "memoryRenderings"; //$NON-NLS-1$
-    
-    /**
-     * Breakpoint organizers extension point identifier (value
-     * <code>"breakpointOrganizers"</code>
-     * 
-     * @since 3.1
-     */
-    public static final String EXTENSION_POINT_BREAKPOINT_ORGANIZERS = "breakpointOrganizers"; //$NON-NLS-1$    
-    
-    /**
-     * Update policies extension point identifier (value
-     * <code>"updatePolicies"</code>
-     * 
-     * @since 3.2
-     */
-    public static final String EXTENSION_POINT_UPDATE_POLICIES = "updatePolicies"; //$NON-NLS-1$    
-
-	/**
-	 * Padded string preference for renderings.  Padded string is the string to be used in place of 
-	 * of a memory byte if a rendering cannot render the data properly.
-	 * @since 3.1
-	 */
-	public static final String PREF_PADDED_STR = PLUGIN_ID + ".memory.paddedStr"; //$NON-NLS-1$
-
-	/**
-	 * ASCII code page for rendering memory to ASCII strings.
-	 * @since 3.1
-	 */
-	public static final String PREF_DEFAULT_ASCII_CODE_PAGE = PLUGIN_ID + ".defaultAsciiCodePage"; //$NON-NLS-1$
-
-	/**
-	 * EBCDIC code page for rendering memory to EBCDIC strings.
-	 * @since 3.1
-	 */
-	public static final String PREF_DEFAULT_EBCDIC_CODE_PAGE = PLUGIN_ID + ".defaultEbcdicCodePage"; //$NON-NLS-1$
-
-	/**
-	 * Maximum number of characters to display in the details area of the variables
-	 * view, or 0 if unlimited.
-	 * 
-	 * @since 3.2
-	 */
-	public static final String PREF_MAX_DETAIL_LENGTH = PLUGIN_ID + ".max_detail_length"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for breakpoint working set type.
-	 * 
-	 * @since 3.2
-	 */
-	public static final String BREAKPOINT_WORKINGSET_ID = "org.eclipse.debug.ui.breakpointWorkingSet"; //$NON-NLS-1$	
-
-	/**
-	 * Memory view identifier (value <code>"org.eclipse.debug.ui.MemoryView"</code>).
-	 * 
-	 * @since 3.2
-	 */
-	public static String ID_MEMORY_VIEW = "org.eclipse.debug.ui.MemoryView";  //$NON-NLS-1$
-
-	/**
-	 * Memory view's rendering view pane identifier for the rendering view pane
-	 * on the left. (value <code>"org.eclipse.debug.ui.MemoryView.RenderingViewPane.1"</code>).
-	 * 
-	 * @since 3.2
-	 */
-	public static String ID_RENDERING_VIEW_PANE_1 = "org.eclipse.debug.ui.MemoryView.RenderingViewPane.1"; //$NON-NLS-1$
-
-	/**
-	 * Memory view's rendering view pane identifier for the rendering view pane
-	 * on the right. (value <code>"org.eclipse.debug.ui.MemoryView.RenderingViewPane.2"</code>).
-	 * 
-	 * @since 3.2 
-	 */
-	public static String ID_RENDERING_VIEW_PANE_2 = "org.eclipse.debug.ui.MemoryView.RenderingViewPane.2"; //$NON-NLS-1$
-
-	/**
-	 * Preference color to indicate that a <code>MemoryByte</code> does not have history.
-	 * (value <code> org.eclipse.debug.ui.MemoryHistoryUnknownColor </code>)
-	 * 
-	 * @since 3.2
-	 */
-	public static final String PREF_MEMORY_HISTORY_UNKNOWN_COLOR = PLUGIN_ID + ".MemoryHistoryUnknownColor"; //$NON-NLS-1$
-
-	/**
-	 * 	Preference color to indicate that a <code>MemoryByte</code> has history.
-	 * (value <code> org.eclipse.debug.ui.MemoryHistoryKnownColor </code>)
-	 * 
-	 * @since 3.2
-	 */
-	public static final String PREF_MEMORY_HISTORY_KNOWN_COLOR = PLUGIN_ID + ".MemoryHistoryKnownColor"; //$NON-NLS-1$
-	
-    /**
-     * Annotation type identifier for default annotation of the current instruction
-     * pointer (top stack frame in a thread). Value is <code>org.eclipse.debug.ui.currentIP</code>,
-     * identifying a <code>org.eclipse.ui.editors.markerAnnotationSpecification</code>
-     * extension.
-     * 
-     * @since 3.2
-     */
-    public static final String ANNOTATION_TYPE_INSTRUCTION_POINTER_CURRENT = "org.eclipse.debug.ui.currentIP"; //$NON-NLS-1$
-    
-    /**
-     * Annotation type identifier for default annotation of secondary instruction pointers
-     * (non top stack frames). Value is <code>org.eclipse.debug.ui.secondaryIP</code>,
-     * identifying a <code>org.eclipse.ui.editors.markerAnnotationSpecification</code>
-     * extension.
-     * 
-     * @since 3.2
-     */
-    public static final String ANNOTATION_TYPE_INSTRUCTION_POINTER_SECONDARY = "org.eclipse.debug.ui.secondaryIP"; //$NON-NLS-1$	
-
-	/**
-	 * Editor Identifier for the "Common Source Not Found" editor.
-	 * Value is <code>org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor</code>
-	 * 
-	 * @since 3.2
-	 */
-	public static final String ID_COMMON_SOURCE_NOT_FOUND_EDITOR="org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor"; //$NON-NLS-1$
-
-	/**
-	 * Preference color used to render debug elements that have changed
-	 * (value <code>org.eclipse.debug.ui.changedDebugElement</code>).
-	 * For example, when a variable value changes, variables are rendered in this
-	 * color.
-	 * 
-	 * @since 3.2
-	 * @see DebugUITools
-	 */
-	public static final String PREF_CHANGED_DEBUG_ELEMENT_COLOR= "org.eclipse.debug.ui.changedDebugElement"; //$NON-NLS-1$
-
-	/**
-	 * Instruction pointer image for editor ruler for the currently executing
-	 * instruction in the top stack frame.
-	 * 
-	 * @since 3.2
-	 */
-	public static final String IMG_OBJS_INSTRUCTION_POINTER_TOP = "IMG_OBJS_INSTRUCTION_POINTER_TOP"; //$NON-NLS-1$
-
-	/**
-	 * Instruction pointer image for editor ruler for secondary (non-top) stack frames.
-	 * 
-	 * @since 3.2
-	 */
-	public static final String IMG_OBJS_INSTRUCTION_POINTER = "IMG_OBJS_INSTRUCTION_POINTER"; //$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 f864ae0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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/IInstructionPointerPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IInstructionPointerPresentation.java
deleted file mode 100644
index 7783127..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IInstructionPointerPresentation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * A debug model presentation may implement this interface to override
- * standard annotations used to display instruction pointers for stack frames.
- * <p>
- * A client has several options when overriding default instruction pointer
- * annotations, and the debug platform uses the following prioritized order
- * when computing an annotation for a stack frame.
- * <ol>
- * <li>Specify the annotation object to use. This is done by returning a non-<code>null</code>
- *  value from <code>getInstructionPointerAnnotation(..)</code>.</li>
- * <li>Specify an <code>annotationType</code> extension to use.
- *  This is done by returning a non-<code>null</code> value from 
- *  <code>getInstructionPointerAnnotationType(..)</code>. When specified, the annotation
- *  type controls the image displayed via its associated
- *  <code>markerAnnotationSpecification</code>.</li>
- * <li>Specify the image to use. This is done by returning a non-<code>null</code>
- *  value from <code>getInstructionPointerImage(..)</code>.</li>
- * </ol>
- * Additionally, when specifying an annotation type or image the text
- * for the instruction pointer may be specified by returning a non-<code>null</code>
- * value from <code>getInstructionPointerText(..)</code>.
- * </p>
- * <p>
- * These methods are called when the debugger has opened an editor to display
- * source for the given stack frame. The iamge will be positioned based on stack frame
- * line number and character ranges.
- * </p>
- * <p>
- * By default, the debug platform uses different annotations for top stack
- * frames and non-top stack frames in a thread. The default platform annotations
- * are contributed as <code>annotationType</code> extensions with
- * the identifiers <code>IDebugUIConstants.ANNOTATION_INSTRUCTION_POINTER_CURRENT</code>
- * and <code>IDebugUIConstants.ANNOTAION_INSTRUCTION_POINTER_SECONDARY</code>.
- * </p>
- * @since 3.2
- */
-public interface IInstructionPointerPresentation extends IDebugModelPresentation {
-	/**
-	 * Returns an annotation used for the specified stack frame in the specified
-	 * editor, or <code>null</code> if a default annotation should be used.
-     * 
-	 * @param editorPart the editor the debugger has opened
-	 * @param frame the stack frame for which the debugger is displaying
-	 *  source
-	 *  @return annotation or <code>null</code>
-	 */
-	public Annotation getInstructionPointerAnnotation(IEditorPart editorPart, IStackFrame frame);
-	
-	/**
-	 * Returns an identifier of a <code>org.eclipse.ui.editors.annotationTypes</code> extension used for
-	 * the specified stack frame in the specified editor, or <code>null</code> if a default annotation
-	 * should be used.
-	 * 
-	 * @param editorPart the editor the debugger has opened
-	 * @param frame the stack frame for which the debugger is displaying
-	 *  source
-	 *  @return annotation type identifier or <code>null</code>
-	 */	
-	public String getInstructionPointerAnnotationType(IEditorPart editorPart, IStackFrame frame);
-	
-	/**
-	 * Returns the instruction pointer image used for the specified stack frame in the specified
-	 * editor, or <code>null</code> if a default image should be used.
-	 * <p>
-	 * By default, the debug platform uses different images for top stack
-	 * frames and non-top stack frames in a thread.
-	 * </p>
-	 * @param editorPart the editor the debugger has opened
-	 * @param frame the stack frame for which the debugger is displaying
-	 *  source
-	 *  @return image or <code>null</code>
-	 */		
-	public Image getInstructionPointerImage(IEditorPart editorPart, IStackFrame frame);
-	
-	/**
-	 * Returns the text to associate with the instruction pointer annotation used for the
-	 * specified stack frame in the specified editor, or <code>null</code> if a default
-	 * message should be used.
-	 * <p>
-	 * By default, the debug platform uses different images for top stack
-	 * frames and non-top stack frames in a thread.
-	 * </p>
-	 * @param editorPart the editor the debugger has opened
-	 * @param frame the stack frame for which the debugger is displaying
-	 *  source
-	 *  @return message or <code>null</code>
-	 */			
-	public String getInstructionPointerText(IEditorPart editorPart, IStackFrame frame);
-}
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 a7cd863..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 3eb03b1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 override
- * 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 d5f4c39..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 d666958..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchGroup.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
- 
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * A launch group identifies a group of launch configurations by a launch
- * mode and category. 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"
- * 		&lt;/launchGroup&gt;
- * 	&lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </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 d504ae6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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>
- * <p>
- * Clients contributing a lanuch shortcut are intended to implement this interface.
- * </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 329ce6b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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>
- * <p>
- * Clients may implement this interface as part of an
- * {@link org.eclipse.debug.ui.IDebugModelPresentation} or as an optional
- * extension to an {@link org.eclipse.debug.core.model.ISourceLocator}.
- * </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 05bcc48..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Notified of detailed value descriptions.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @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/InspectPopupDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java
deleted file mode 100644
index a776635..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-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.VariablesViewModelPresentation;
-import org.eclipse.debug.internal.ui.viewers.PresentationContext;
-import org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter;
-import org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext;
-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.VariablesViewer;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-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.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.Shell;
-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 <code>DebugPopup</code> that can be used to inspect an 
- * <code>IExpression</code> object.
- * <p>
- * This class is not intended to be subclassed.
- * </p>
- * <p>
- * Note: This class subclasses {@link org.eclipse.jface.dialogs.PopupDialog}
- * which is currently marked as experimental API. Users should therefore consider
- * this class to be experimental as well.
- * </p>
- * @since 3.2
- */
-public class InspectPopupDialog extends DebugPopup {
-    private static final int[] DEFAULT_SASH_WEIGHTS = new int[] { 90, 10 };
-
-    private static final int MIN_WIDTH = 250;
-
-    private static final int MIN_HEIGHT = 200;
-
-    private VariablesViewer fVariablesViewer;
-
-    private IDebugModelPresentation fModelPresentation;
-
-    private StyledText fValueDisplay;
-
-    private SashForm fSashForm;
-
-    private Tree fTree;
-
-    private IExpression fExpression;
-
-    /**
-     * Creates a new inspect popup.
-     * 
-     * @param shell The parent shell
-     * @param anchor point at which to anchor the popup in Display coordinates
-     * @param commandId The command id to be used for persistence of 
-     * the dialog (possibly <code>null</code>)
-     * @param expression The expression being inspected
-     */
-    public InspectPopupDialog(Shell shell, Point anchor, String commandId, IExpression expression) {
-        super(shell, anchor, commandId);
-        fExpression = expression;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.DebugPopup#createDialogArea(org.eclipse.swt.widgets.Composite)
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = new Composite(parent, parent.getStyle());
-        GridLayout layout = new GridLayout();
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        fSashForm = new SashForm(composite, parent.getStyle());
-        fSashForm.setOrientation(SWT.VERTICAL);
-        fSashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        VariablesView view = getViewToEmulate();
-
-        fVariablesViewer = new VariablesViewer(fSashForm, SWT.NO_TRIM | SWT.VIRTUAL, null);
-        
-        fVariablesViewer.setContext(new PresentationContext(view));
-        fModelPresentation = new VariablesViewModelPresentation();
-        fVariablesViewer.setLabelProvider(fModelPresentation);
-
-        fValueDisplay = new StyledText(fSashForm, SWT.NO_TRIM | SWT.WRAP | SWT.V_SCROLL);
-        fValueDisplay.setEditable(false);
-
-        fTree = fVariablesViewer.getTree();
-        fTree.addSelectionListener(new SelectionListener() {
-            public void widgetSelected(SelectionEvent e) {
-                try {
-                    TreeItem[] selections = fTree.getSelection();
-                    if (selections.length > 0) {
-                        Object data = selections[selections.length - 1].getData();
-
-                        IValue val = null;
-                        if (data instanceof IndexedVariablePartition) {
-                            // no details for partitions
-                            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);
-        fTree.setForeground(foreground);
-        fTree.setBackground(background);
-        composite.setForeground(foreground);
-        composite.setBackground(background);
-        fValueDisplay.setForeground(foreground);
-        fValueDisplay.setBackground(background);
-
-        // sashForm.setWeights(getInitialSashWeights());
-        fSashForm.setWeights(DEFAULT_SASH_WEIGHTS);
-
-        fVariablesViewer.getContentProvider();
-        if (view != null) {
-            StructuredViewer structuredViewer = (StructuredViewer) view.getViewer();
-            if (structuredViewer != null) {
-                ViewerFilter[] filters = structuredViewer.getFilters();
-                for (int i = 0; i < filters.length; i++) {
-                    fVariablesViewer.addFilter(filters[i]);
-                }
-            }
-
-            Map map = view.getPresentationAttributes(fExpression.getModelIdentifier());
-            Iterator iterator = map.keySet().iterator();
-            while (iterator.hasNext()) {
-                String key = (String) iterator.next();
-                fModelPresentation.setAttribute(key, map.get(key));
-            }
-        }
-
-        TreeRoot treeRoot = new TreeRoot();
-        fVariablesViewer.setInput(treeRoot);
-        fVariablesViewer.expand(new TreeSelection(new TreePath(new Object[] {treeRoot, fExpression})));
-
-        return fTree;
-    }
-
-    private class TreeRoot extends AsynchronousContentAdapter {
-        protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
-            return new Object[] { fExpression };
-        }
-        protected boolean hasChildren(Object element, IPresentationContext context) throws CoreException {
-            return true;
-        }
-        protected boolean supportsPartId(String id) {
-            return true;
-        }
-    }
-    
-    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() {
-                        if (!fValueDisplay.isDisposed()) {
-                            String text = result;
-                            int max = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugUIConstants.PREF_MAX_DETAIL_LENGTH);
-                            if (max > 0 && result.length() > max) {
-                                text = result.substring(0, max) + "..."; //$NON-NLS-1$
-                            }
-                            fValueDisplay.setText(text);
-                        }
-                    }
-                });
-            }
-        };
-        fModelPresentation.computeDetail(val, valueDetailListener);
-    }
-
-    private VariablesView getViewToEmulate() {
-        IWorkbenchPage page = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage();
-        VariablesView expressionsView = (VariablesView) page.findView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-        if (expressionsView != null && expressionsView.isVisible()) {
-            return expressionsView;
-        }
-        VariablesView variablesView = (VariablesView) page.findView(IDebugUIConstants.ID_VARIABLE_VIEW);
-        if (variablesView != null && variablesView.isVisible()) {
-            return variablesView;
-        }
-        if (expressionsView != null) {
-            return expressionsView;
-        }
-        return variablesView;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.DebugPopup#close()
-     */
-    public boolean close() {
-    	if(fVariablesViewer != null) {
-    		fVariablesViewer.dispose();
-    	}
-    	if(fModelPresentation != null) {
-    		fModelPresentation.dispose();
-    	}
-    	if (!wasPersisted()) {
-    		fExpression.dispose();
-    	}
-		return super.close();
-	}
-
-	/* (non-Javadoc)
-     * @see org.eclipse.debug.ui.DebugPopup#getActionText()
-     */
-    protected String getActionText() {
-		return DebugUIViewsMessages.InspectPopupDialog_0;
-	}
-
-	/* (non-Javadoc)
-     * @see org.eclipse.debug.ui.DebugPopup#persist()
-     */
-    protected void persist() {
-    	super.persist();
-        DebugPlugin.getDefault().getExpressionManager().addExpression(fExpression);
-
-        fExpression = null;
-        IWorkbenchPage page = DebugUIPlugin.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);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.PopupDialog#getInitialSize()
-     */
-    protected Point getInitialSize() {
-        Point initialSize = super.getInitialSize();
-        initialSize.x = Math.max(initialSize.x, MIN_WIDTH);
-        initialSize.y = Math.max(initialSize.y, MIN_HEIGHT);
-        return initialSize;
-    }
-}
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 d445e3b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java
+++ /dev/null
@@ -1,616 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-import com.ibm.icu.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;
-
-/**
- * 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);
-		PlatformUI.getWorkbench().getHelpSystem().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.RefreshTab_31); 
-		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.RefreshTab_32); 
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fWorkspaceButton.setLayoutData(gd);
-		fWorkspaceButton.addSelectionListener(adapter);
-
-		fResourceButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_33); 
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fResourceButton.setLayoutData(gd);
-		fResourceButton.addSelectionListener(adapter);
-
-		fProjectButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_34); 
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fProjectButton.setLayoutData(gd);		
-		fProjectButton.addSelectionListener(adapter);
-
-		fContainerButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_35); 
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fContainerButton.setLayoutData(gd);
-		fContainerButton.addSelectionListener(adapter);
-				
-		fWorkingSetButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_36); 
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 1;
-		fWorkingSetButton.setLayoutData(gd);
-		fWorkingSetButton.addSelectionListener(adapter);		
-		
-		fSelectButton = createPushButton(fGroup, StringSubstitutionMessages.RefreshTab_37, null); 
-		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.RefreshTab_40, new IAdaptable[0]); 
-		}
-		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.RefreshTab_0); 
-		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.RefreshTab_40, resources);					 
-				} 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.RefreshTab_6; 
-	}
-	
-	/**
-	 * 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 (fRefreshButton.getSelection() && (fWorkingSetButton.getSelection() && (fWorkingSet == null || fWorkingSet.getElements().length == 0))) {
-			setErrorMessage(StringSubstitutionMessages.RefreshTab_42); 
-			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.RefreshTab_7, 
-			resources.length);
-	
-		MultiStatus status = new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), 0, StringSubstitutionMessages.RefreshTab_8, null); 
-		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.RefreshTab_38, new String[]{pathString}), null)); 
-			} 
-			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.RefreshTab_39, null)); 
-			} 
-			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);
-			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
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
deleted file mode 100644
index be1b424..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-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.SWTUtil;
-import org.eclipse.debug.internal.ui.preferences.StringVariablePreferencePage;
-import org.eclipse.debug.internal.ui.stringsubstitution.IArgumentSelector;
-import org.eclipse.debug.internal.ui.stringsubstitution.StringSubstitutionMessages;
-import org.eclipse.debug.internal.ui.stringsubstitution.StringVariableLabelProvider;
-import org.eclipse.debug.internal.ui.stringsubstitution.StringVariablePresentationManager;
-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.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.
- * <p>
- * Clients may instantiate this class; not intended to be subclassed.
- * </p>
- * @since 3.1
- */
-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.StringVariableSelectionDialog_2); 
-		setMessage(StringSubstitutionMessages.StringVariableSelectionDialog_3); 
-		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 parent 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.StringVariableSelectionDialog_0); 
-		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.StringVariableSelectionDialog_6); 
-		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.StringVariableSelectionDialog_7); 
-		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.StringVariableSelectionDialog_8); 
-		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.StringVariableSelectionDialog_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();
-	}
-
-	/**
-	 * Returns the name of the section that this dialog stores its settings in
-	 * 
-	 * @return String
-	 */
-	private String getDialogSettingsSectionName() {
-		return IDebugUIConstants.PLUGIN_ID + ".STRING_VARIABLE_SELECTION_DIALOG_SECTION"; //$NON-NLS-1$
-	}
-	
-	 /* (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
-     */
-    protected IDialogSettings getDialogBoundsSettings() {
-    	 IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-         IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-         if (section == null) {
-             section = settings.addNewSection(getDialogSettingsSectionName());
-         } 
-         return section;
-    }
-}
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 b8ffd64..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
- 
-import com.ibm.icu.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.AbstractLaunchHistoryAction_1; 
-		} else if (mode.equals(ILaunchManager.DEBUG_MODE)){
-			label= ActionMessages.AbstractLaunchHistoryAction_2; 
-		} else if (mode.equals(ILaunchManager.PROFILE_MODE)){
-			label= ActionMessages.AbstractLaunchHistoryAction_3; 
-		} else {
-			label= ActionMessages.AbstractLaunchHistoryAction_4; 
-		}
-		return MessageFormat.format(ActionMessages.AbstractLaunchHistoryAction_0, new String[] {label, launchName}); 
-	}
-	
-	/**
-	 * @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 1cd7add..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchToolbarAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @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 LaunchShortcutsAction(getLaunchGroupIdentifier()), -1);
-		addToMenu(menu, getOpenDialogAction(), -1);
-		addToMenu(menu, new OrganizeFavoritesAction(getLaunchGroupIdentifier()), -1);
-	}
-	
-	/**
-	 * Returns an action to open the launch dialog
-	 * @since 3.1
-	 */
-	protected IAction getOpenDialogAction() {
-		return new OpenLaunchDialogAction(getLaunchGroupIdentifier());
-	}
-
-	/**
-	 * 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/AddMemoryRenderingActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java
deleted file mode 100644
index 9467a72..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-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.ActionMessages;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-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.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.events.MenuAdapter;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * A cascade menu to add a memory rendering to the memory view. This action delegate can be
- * contributed to a an editor, view or object via standard workbench extension points. 
- * The action works on the {@link IAddMemoryRenderingsTarget} adapter provided 
- * by the active debug context, creating a context menu to add applicable renderings
- * to the memory view.
- * <p>
- * Clients may reference/contribute this class as an action delegate
- * in plug-in XML. This class is not intended to be subclassed.
- * </p>
- * @since 3.2
- */
-public class AddMemoryRenderingActionDelegate extends Action implements IViewActionDelegate, IEditorActionDelegate, IObjectActionDelegate, IActionDelegate2{
-	
-	private IAction fAction;
-	private IWorkbenchPart fPart;
-	private ISelection fCurrentSelection;
-	private IAddMemoryRenderingsTarget fActionDelegate;
-	private IMenuCreator fMenuCreator;
-	private IAdaptable fDebugContext;
-	private IWorkbenchWindow fWindow;
-	private DebugContextListener fDebugContextListener = new DebugContextListener();
-	
-	private class AddMemoryRenderingAction extends Action
-	{
-		private IMemoryRenderingType fRenderingType;			// type of rendering to add
-		AddMemoryRenderingAction(IMemoryRenderingType renderingType)
-		{
-			super(renderingType.getLabel());
-			fRenderingType = renderingType;
-		}
-
-		public void runWithEvent(Event event) {
-			if (fActionDelegate != null)
-			{
-				try {
-					fActionDelegate.addMemoryRenderings(fPart, fCurrentSelection, new IMemoryRenderingType[]{fRenderingType});
-				} catch (CoreException e) {
-					DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.AddMemoryRenderingActionDelegate_0, ActionMessages.AddMemoryRenderingActionDelegate_1, e);
-				}
-			}
-		}
-	}
-	
-	private class AddMemoryRenderingMenuCreator implements IMenuCreator
-	{
-
-		public void dispose() {
-			
-		}
-
-		public Menu getMenu(Control parent) {
-			return null;
-		}
-
-		public Menu getMenu(Menu parent) {
-			Menu menu = new Menu(parent);
-			menu.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(m);
-				}
-			});		
-			return menu;
-		}
-		
-		private void fillMenu(Menu parent)
-		{
-			if (fActionDelegate != null)
-			{
-				IMemoryRenderingType[] types = fActionDelegate.getMemoryRenderingTypes(fPart, fCurrentSelection);
-				
-				for (int i=0; i<types.length; i++)
-				{
-					AddMemoryRenderingAction action = new AddMemoryRenderingAction(types[i]);
-					ActionContributionItem item = new ActionContributionItem(action);
-					item.fill(parent, -1);
-				}
-			}
-		}
-	}	
-	
-	private class DebugContextListener implements IDebugContextListener
-	{
-
-		public void contextActivated(ISelection selection, IWorkbenchPart part) {
-			setupActionDelegate(selection);
-			updateAction(fAction, fCurrentSelection);
-			
-		}
-
-		public void contextChanged(ISelection selection, IWorkbenchPart part) {
-			setupActionDelegate(selection);
-			updateAction(fAction, fCurrentSelection);
-		}
-	}
-	
-	private void setupActionDelegate(ISelection context)
-	{
-		IAdaptable debugContext = null;
-		if (context instanceof IStructuredSelection)
-		{
-			if (((IStructuredSelection)context).getFirstElement() instanceof IAdaptable)
-				debugContext = (IAdaptable)((IStructuredSelection)context).getFirstElement();
-		}
-		
-		if (debugContext == null)
-			fActionDelegate = null;
-		
-		if (debugContext == fDebugContext)
-			return;
-		
-		fDebugContext = debugContext;
-		
-		if (fDebugContext == null)
-			return;
-		
-		IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval)fDebugContext.getAdapter(IMemoryBlockRetrieval.class);
-		if (retrieval == null && fDebugContext instanceof IDebugElement)
-		{
-			retrieval = ((IDebugElement)fDebugContext).getDebugTarget();
-		}
-		
-		if (retrieval == null)
-			return;
-		
-		IAddMemoryRenderingsTarget target = null;
-		if (fCurrentSelection instanceof IStructuredSelection)
-		{
-			// get target from current selection
-			IStructuredSelection strucSel = (IStructuredSelection)fCurrentSelection;
-			Object obj = strucSel.getFirstElement();
-			target = getAddMemoryRenderingTarget(obj);
-		}
-		if (target == null)
-		{
-			// get the target from Debug View
-			target = getAddMemoryRenderingTarget(fDebugContext);
-		}
-		if (target == null)
-		{
-			// try to get target from memory block retrieval
-			target = getAddMemoryRenderingTarget(retrieval);
-		}
-		
-		fActionDelegate = target;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		bindPart(view);	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		// do nothing
-	}
-
-	/* (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) {
-		bindAction(action);
-		fCurrentSelection = selection;
-		updateAction(action, selection);
-	}
-	
-	private void updateAction(IAction action, ISelection selection)
-	{
-		if (fActionDelegate != null)
-		{
-			action.setEnabled(fActionDelegate.canAddMemoryRenderings(fPart, selection));
-			bindAction(action);
-		}
-		else
-		{
-			action.setEnabled(false);
-		}
-	}
-
-	private void bindAction(IAction action) {
-		if (action == null)
-			return;
-		
-		if (action != fAction) {
-			if (fMenuCreator == null)
-				fMenuCreator = new AddMemoryRenderingMenuCreator();
-	        action.setMenuCreator(fMenuCreator);
-	        fAction= action;
-	    }
-	}
-
-	private IAddMemoryRenderingsTarget getAddMemoryRenderingTarget(Object elmt) {
-		IAddMemoryRenderingsTarget target = null;
-		
-		if (elmt instanceof IAddMemoryRenderingsTarget)
-		{
-			target = (IAddMemoryRenderingsTarget)elmt;
-		}
-		else if (elmt instanceof IAdaptable)
-		{
-			target = (IAddMemoryRenderingsTarget)((IAdaptable)elmt).getAdapter(IAddMemoryRenderingsTarget.class);
-		}
-		return target;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		bindPart(targetEditor);
-		bindAction(action);
-		updateAction(action, fCurrentSelection);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		bindPart(targetPart);
-		bindAction(action);
-		updateAction(action, fCurrentSelection);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {		
-		bindAction(action);
-		if (action != null)
-		{
-			action.setText(ActionMessages.AddMemoryRenderingActionDelegate_2);
-			action.setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_MONITOR_EXPRESSION));
-			action.setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_MONITOR_EXPRESSION));
-			action.setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_MONITOR_EXPRESSION));
-		}	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-		// remove as debug context listener
-		fAction = null;
-		fPart = null;
-		fCurrentSelection = null;
-		fActionDelegate = null;
-		
-		// remove debug context listener
-		bindPart(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) {
-		// do nothing
-	}
-	
-	private void bindPart(IWorkbenchPart part)
-	{
-		IWorkbenchWindow window = null;
-		if (part != null)
-		{
-			window = part.getSite().getWorkbenchWindow();
-		}
-		if (window != fWindow)
-		{
-				
-			if (fWindow != null)
-			{
-				DebugContextManager.getDefault().removeDebugContextListener(fDebugContextListener, fWindow);
-			}
-			
-			if (window != null)
-			{
-				DebugContextManager.getDefault().addDebugContextListener(fDebugContextListener, window);
-			}
-			fWindow = window;
-		}
-		
-		if (part != fPart)
-			fPart = part;
-		
-		if (fWindow != null)
-			setupActionDelegate(DebugContextManager.getDefault().getActiveContext(fWindow));
-	}
-
-}
-
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 51a1e47..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-/**
- * 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.
- * </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 (fDelegateAction != action) {
-				fDelegateAction = action;
-				fDelegateAction.setMenuCreator(this);
-			}
-			// save selection and enable our menu
-			fSelection = (IStructuredSelection) selection;
-			action.setEnabled(true);
-			return;
-		}
-		action.setEnabled(false);
-	}
-
-    /**
-     * Fills the menu with applicable launch shortcuts
-     * @param menu The menu to fill
-     */
-	protected void fillMenu(Menu menu) {
-		if (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;
-		List categories = new ArrayList();
-		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)) {
-					String category = ext.getCategory();
-					// NOTE: category can be null
-					if (categories!= null && !categories.contains(category)) {
-						categories.add(category);
-					}
-					populateMenuItem(mode, ext, menu, accelerator++);
-				}
-			}
-		}
-		
-		
-		if (categories.isEmpty()) {
-			IAction action = new OpenLaunchDialogAction(fGroup.getIdentifier());
-		    ActionContributionItem item= new ActionContributionItem(action);
-		    item.fill(menu, -1);
-		} else {
-			iter = categories.iterator();
-			while (iter.hasNext()) {
-				// NOTE: category can be null
-				String category = (String) iter.next();
-				ILaunchGroup group = fGroup;
-				if (category != null) {
-					group = (ILaunchGroup) fGroupsByCategory.get(category);
-				}
-				if (group != null) {
-				    if (accelerator > 1) {
-						new MenuItem(menu, SWT.SEPARATOR);
-					}
-				    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() + "." + mode); //$NON-NLS-1$
-		String helpContextId = ext.getHelpContextId();
-		if (helpContextId != null) {
-			PlatformUI.getWorkbench().getHelpSystem().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);
-	}
-
-	/**
-	 * 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 009cf94..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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/ExportBreakpointsOperation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java
deleted file mode 100644
index 6b3335f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui.actions;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.importexport.breakpoints.IImportExportConstants;
-import org.eclipse.debug.internal.ui.importexport.breakpoints.ImportExportMessages;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.XMLMemento;
-
-/**
- * Exports breakpoints to a file. 
- * <p>
- * This class may be instantiated; not intended to be subclassed.
- * <p>
- * @since 3.2
- */
-public class ExportBreakpointsOperation implements IRunnableWithProgress {
-
-	private IBreakpoint[] fBreakpoints = null;
-	private String fFileName = null;
-	
-	/**
-	 * Constructs an operation to export breakpoints to a file.
-	 * 
-	 * @param breakpoints the breakpoints to export
-	 * @param fileName absolute path of file to export breakpoints to - the file
-	 * 	will be overwritten if it already exists
-	 */
-	public ExportBreakpointsOperation(IBreakpoint[] breakpoints, String fileName) {
-		fBreakpoints = breakpoints;
-		fFileName = fileName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void run(IProgressMonitor monitor) throws InvocationTargetException {
-		XMLMemento memento = XMLMemento.createWriteRoot(IImportExportConstants.IE_NODE_BREAKPOINTS); 
-		monitor.beginTask(ImportExportMessages.ExportOperation_0, fBreakpoints.length);
-		try {
-			for (int i = 0; i < fBreakpoints.length; i++) {
-				IBreakpoint breakpoint = fBreakpoints[i];
-				//in the event we are in workingset view, we can have multiple selection of the same breakpoint
-				//so do a simple check for it
-				IMarker marker = breakpoint.getMarker();
-				IMemento root = memento.createChild(IImportExportConstants.IE_NODE_BREAKPOINT);
-				root.putString(IImportExportConstants.IE_BP_ENABLED, Boolean.toString(breakpoint.isEnabled()));
-				root.putString(IImportExportConstants.IE_BP_REGISTERED, Boolean.toString(breakpoint.isRegistered()));
-				root.putString(IImportExportConstants.IE_BP_PERSISTANT, Boolean.toString(breakpoint.isPersisted()));
-				//write out the resource info
-				IResource resource = marker.getResource();
-				IMemento child = root.createChild(IImportExportConstants.IE_NODE_RESOURCE);
-				child.putString(IImportExportConstants.IE_NODE_PATH, resource.getFullPath().toPortableString());
-				child.putInteger(IImportExportConstants.IE_NODE_TYPE, resource.getType());
-				//a generalized (name, value) pairing for attributes each stored as an ATTRIB element
-				root = root.createChild(IImportExportConstants.IE_NODE_MARKER);
-				root.putString(IImportExportConstants.IE_NODE_TYPE, marker.getType());
-				Object val = marker.getAttribute(IMarker.LINE_NUMBER);
-				root.putString(IMarker.LINE_NUMBER, (val != null) ? val.toString() : null);
-				val = marker.getAttribute(IImportExportConstants.CHARSTART); 
-				root.putString(IImportExportConstants.CHARSTART, (val != null) ? val.toString() : null);
-				for(java.util.Iterator iter = marker.getAttributes().keySet().iterator(); iter.hasNext();) {
-					String iterval = iter.next().toString();
-					if(!iterval.equals(IMarker.LINE_NUMBER)) {
-						child = root.createChild(IImportExportConstants.IE_NODE_ATTRIB);
-						child.putString(IImportExportConstants.IE_NODE_NAME, iterval);
-						child.putString(IImportExportConstants.IE_NODE_VALUE, marker.getAttribute(iterval).toString());
-					}
-				}
-			}
-			OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(fFileName), "UTF-8"); //$NON-NLS-1$
-			memento.save(osw);
-			osw.close();
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		} catch (IOException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-	
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryBlocksTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryBlocksTarget.java
deleted file mode 100644
index db5c9d4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryBlocksTarget.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * An adapter for an "add memory block" operation. The Memory View provides
- * a retargettable "add memory block" action that debuggers may plug into
- * by providing an adapter (see <code>IAdaptable</code>) of this type.
- * 
- * @since 3.2
- */
-public interface IAddMemoryBlocksTarget {
-	
-	/**
-	 * Returns whether an add memory block operation can be performed from the specified
-	 * part and the given selection.
-	 * 
-	 * @param part the part on which the action has been invoked
-	 * @param selection the selection on which the action has been invoked
-	 * @throws CoreException if unable to perform the action 
-	 */
-	public boolean canAddMemoryBlocks(IWorkbenchPart part, ISelection selection) throws CoreException;
-	
-	/**
-	 * Returns whether this target will support adding memory block from the specified
-	 * part.
-	 * @param part
-	 * @return true if the target wants to support adding memory block from the given
-	 * part, false otherwise.
-	 */
-	public boolean supportsAddMemoryBlocks(IWorkbenchPart part);
-	
-	
-	/**
-	 * Perform an add memory block on the given element that is 
-	 * currently selected in the Debug view. If a memory block can be successfully
-	 * created, implementations must add the resulted memory block to <code>IMemoryBlockManager</code>
-	 * In addition, implementations must query to see if default renderings should be created
-	 * for the given memory block and add these renderings accordingly.
-	 * 
-	 * @param part the part on which the action has been invoked
-	 * @param selection the selection on which the action has been invoked
-	 * @throws CoreException if unable to perform the action 
-	 * 
-	 * @see org.eclipse.debug.core.model.IMemoryBlockRetrieval
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingManager
-	 * @see org.eclipse.debug.core.IMemoryBlockManager
-	 */
-	public void addMemoryBlocks(IWorkbenchPart part, ISelection selection) throws CoreException;
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryRenderingsTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryRenderingsTarget.java
deleted file mode 100644
index 27fc9a0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryRenderingsTarget.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Adpater for the platform's retargettable "add memory rendering" action. 
- * Clients implementing this adapter are expected to add the necessary memory blocks
- * and renderings when the adapter is invoked.
- * <p>
- * Typically, to add a memory rendering, client needs to do the following:
- * <ol>
- * <li>Create a new memory block</li>
- * <li>Add the new memory block to the Memory Block Manager. (<code>IMemoryBlockManager</code>)</li>
- * <li>Create the new rendering from <code>IMemoryRenderingTypeDelegate</code></li>
- * <li>Bring the required memory view to the top. (<code>IMemoryRenderingSite</code>)</li>
- * <li>Find the container from the memory view to host the new memory rendering.
- *    (<code>IMemoryRenderingContainer</code>)</li> 
- * <li>Initialize the new rendering with the appropriate memory block and container.</li>
- * <li>Add the new rendering to the container.</li>
- * </ol> 
- * </p>
- * @since 3.2
- * @see AddMemoryRenderingActionDelegate
- */
-public interface IAddMemoryRenderingsTarget {
-	/**
-	 * Returns whether a memory rendering can be added from the specified
-	 * part, based on the the given selection, which is the active debug context
-	 * in the current workbench window.
-	 * 
-	 * @param part the part on which the action has been invoked
-	 * @param selection the active debug context in the active workbench window	
-	 * @throws CoreException if an error has occurred
-	 */
-	public boolean canAddMemoryRenderings(IWorkbenchPart part, ISelection selection);
-	
-	/**
-	 * Adds memory renderings. Based on the part and selection (active debug context), this 
-	 * adapter does the following:
-	 * <ol>
-	 * <li>creates and adds the required memory block to the memory block manager</li>
-	 * <li>creates the specified renderings and add the them
-	 *   to the appropriate memory rendering containers</li>
-	 * </ol>
-	 * @param part the part on which the action has been invoked
-	 * @param selection the active debug context
-	 * @param renderingTypes renderings to add
-	 * @throws CoreException if unable to perform the action 
-	 * 
-	 * @see org.eclipse.debug.core.model.IMemoryBlockRetrieval
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingManager
-	 * @see org.eclipse.debug.core.IMemoryBlockManager
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingSite
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingContainer
-	 */
-	public void addMemoryRenderings(IWorkbenchPart part, ISelection selection, IMemoryRenderingType[] renderingTypes) throws CoreException;
-	
-	/**
-	 * Returns a list of rendering types that can be added from the given workbench part and active
-	 * debug context, possibly empty.
-	 * 
-	 * @param part the part on which the action has been invoked
-	 * @param selection the active debug context
-	 * @return a list of rendering types that can be added, possiby empty
-	 */
-	public IMemoryRenderingType[] getMemoryRenderingTypes(IWorkbenchPart part, ISelection selection);
-}
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 fddbcc9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ILaunchable.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 e16d020..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IRunToLineTarget.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 bab1710..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTarget.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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/IToggleBreakpointsTargetExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension.java
deleted file mode 100644
index 99e7e08..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Extension interface for {@link org.eclipse.debug.ui.actions.IToggleBreakpointsTarget}.
- * This interface provides the ability to selectively create any type of breakpoint
- * when invoked, rather than a specific type of breakpoint (for example, a line
- * breakpoint). This allows targets to choose the type of breakpoint to create
- * when the user double-clicks in the vertical ruler. 
- * <p>
- * Clients implementing <code>IToggleBreakpointsTarget</code> may optionally
- * implement this interface.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.ui.actions.ToggleBreakpointAction
- */
-public interface IToggleBreakpointsTargetExtension extends 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 toggleBreakpoints(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 canToggleBreakpoints(IWorkbenchPart part, ISelection selection);
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IVariableValueEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IVariableValueEditor.java
deleted file mode 100644
index 0fc8f98..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IVariableValueEditor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A variable value editor allows the user to edit a variable's value.
- * Variable value editors are contributed for a debug model via the
- * <code>org.eclipse.debug.ui.variableValueEditors</code> extension point.
- * <p>
- * Following is example plug-in XML for contributing a variable value editor.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.variableValueEditors"&gt;
- *    &lt;variableEditor
- *       modelId="com.examples.myDebugModel"
- *       class="com.examples.variables.MyVariableValueEditor"/&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>modelId</code> the debug model identifier for which the given
- * variable value editor is applicable</li>
- * <li><code>class</code> fully qualified name of a class that implements 
- * {@link IVariableValueEditor}</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IVariableValueEditor {
-
-    /**
-     * Edits the given variable, if appropriate. If this editor does not apply to
-     * the given variable this method returns false, which indicates that the
-     * Debug Platform's default variable edit dialog should be used.
-     * 
-     * @param variable the variable to edit
-     * @param shell the currently active shell, which can be used to open a dialog
-     *  for the user
-     * @return whether this editor has completed the edit operation for the given variable.
-     *  <code>true</code> if no more work should be done, <code>false</code> if the debug
-     *  platform should prompt the user to edit the given variable using the default
-     *  variable editor
-     */
-    public boolean editVariable(IVariable variable, Shell shell);
-    
-    /**
-     * Saves the given expression to the given variable, if appropriate. If this
-     * editor does not set the given variable's value from the given expression, this
-     * method returns false. Returning false indicates that the Debug Platform should
-     * perform the default operation to set a variable's value based on a String.
-     * 
-     * @param variable the variable to edit
-     * @param expression the expression to assign to the given variable
-     * @param shell the currently active shell, which can be used to report errors to the
-     *  user. May be <code>null</code> if no active shell could be found.
-     * @return whether this editor has completed the save operation for the given variable.
-     *  <code>true</code> if no more work should be done, <code>false</code> if the debug
-     *  platform should perform the default save operation
-     */
-    public boolean saveVariable(IVariable variable, String expression, Shell shell);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter.java
deleted file mode 100644
index a83666f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IVariable;
-
-/**
- * An optional adapter used to create a watch expression for a selected variable.
- * <p>
- * The 'Create Watch Expression' action is enabled for instances of
- * {@link org.eclipse.debug.core.model.IVariable} that have an associated
- * {@link org.eclipse.debug.core.model.IWatchExpressionDelegate} registered
- * for that debug model.
- * When a watch expression factory adapter is available for a variable, the factory is
- * consulted to create a watch expression for that variable. When no adapter is provided,
- * the watch expression is generated based on the variable's name.
- * </p>
- * @since 3.2
- */
-public interface IWatchExpressionFactoryAdapter {
-	
-	/**
-	 * Creates and returns an expression for the specified variable
-	 * which is used to created an {@link org.eclipse.debug.core.model.IWatchExpression}.
-	 * 
-	 * @param variable variable a watch expression is required for
-	 * @return text used to create a watch expression
-	 * @exception org.eclipse.core.runtime.CoreException if unable to create a watch
-	 *  expression
-	 */
-	public String createWatchExpression(IVariable variable) throws CoreException;
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
deleted file mode 100644
index cd06fed..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui.actions;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.InvocationTargetException;
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-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.model.IBreakpoint;
-import org.eclipse.debug.internal.core.BreakpointManager;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.importexport.breakpoints.IImportExportConstants;
-import org.eclipse.debug.internal.ui.importexport.breakpoints.ImportExportMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.XMLMemento;
-
-/**
- * Imports breakpoints from a file into the workspace.
- * <p>
- * This class may be instantiated; not intended to be subclassed.
- * <p>
- * @since 3.2
- */
-public class ImportBreakpointsOperation implements IRunnableWithProgress {
-
-	private boolean fOverwriteAll = false;
-
-	private String fFileName = null;
-
-	private boolean fCreateWorkingSets = false;
-
-	private ArrayList fAdded = new ArrayList();
-
-	private BreakpointManager fManager = (BreakpointManager) DebugPlugin.getDefault().getBreakpointManager();
-
-	/**
-	 * Constructs an operation to import breakpoints.
-	 * 
-	 * @param fileName the file to read breakpoints from - the file should have been 
-	 *            created from an export operation
-	 * @param overwrite whether imported breakpoints will overwrite existing equivalent breakpoints
-	 * @param createWorkingSets whether breakpoint working sets should be created. Breakpoints
-	 * 	are exported with information about the breakpoint working sets they belong to. Those
-	 * 	working sets can be optionally re-created on import if they do not already exist in the
-	 *            workspace.
-	 */
-	public ImportBreakpointsOperation(String fileName, boolean overwrite, boolean createWorkingSets) {
-		fFileName = fileName;
-		fOverwriteAll = overwrite;
-		fCreateWorkingSets = createWorkingSets;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IWorkspaceRunnable#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void run(final IProgressMonitor monitor) throws InvocationTargetException {
-		IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor wmonitor) throws CoreException {
-				try {
-					XMLMemento memento = XMLMemento.createReadRoot(new InputStreamReader(new FileInputStream(fFileName), "UTF-8")); //$NON-NLS-1$
-					IMemento[] nodes = memento.getChildren(IImportExportConstants.IE_NODE_BREAKPOINT);
-					IWorkspaceRoot workspace = ResourcesPlugin.getWorkspace().getRoot();
-					IMemento node = null;
-					monitor.beginTask(ImportExportMessages.ImportOperation_0, nodes.length);
-					for(int i = 0; i < nodes.length; i++) {
-						if(!monitor.isCanceled()) {
-							node = nodes[i].getChild(IImportExportConstants.IE_NODE_RESOURCE);
-							IResource resource = workspace.findMember(node.getString(IImportExportConstants.IE_NODE_PATH));
-							// filter resource breakpoints that do not exist in this workspace
-							if(resource != null) {
-								// create a marker, we must do each one, as a straight copy set values as Objects, destroying
-								// the actual value types that they are.
-								node = nodes[i].getChild(IImportExportConstants.IE_NODE_MARKER);
-								IMarker marker = findGeneralMarker(resource, node.getString(IMarker.LINE_NUMBER), 
-										node.getString(IImportExportConstants.IE_NODE_TYPE),
-										node.getInteger(IImportExportConstants.CHARSTART));
-								if(marker == null) {
-									marker = resource.createMarker(node.getString(IImportExportConstants.IE_NODE_TYPE));
-									restoreBreakpoint(marker, nodes[i]);
-								}
-								else {
-									if(fOverwriteAll) {
-										marker.setAttributes(null);
-										restoreBreakpoint(marker, nodes[i]);
-									}
-								}
-							}
-							monitor.worked(i+1);
-						} else {
-							return;
-						}
-					}
-					fManager.addBreakpoints((IBreakpoint[])fAdded.toArray(new IBreakpoint[fAdded.size()]));
-				} 
-				catch(FileNotFoundException e) {
-					throw new CoreException(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, 
-							MessageFormat.format(ImportExportMessages.ImportBreakpointsOperation_0, new String[]{fFileName}), e));
-				}
-				catch (UnsupportedEncodingException e) {
-					throw new CoreException(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, 
-							MessageFormat.format(ImportExportMessages.ImportBreakpointsOperation_1, new String[]{fFileName}), e));
-				}
-			}
-		};
-		try {
-			ResourcesPlugin.getWorkspace().run(wr, monitor);
-		} catch(CoreException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-
-	/**
-	 * Restores a breakpoint on the given marker with information from the passed memento
-	 * @param marker the marker to restore to
-	 * @param node the memento to get the restore information from
-	 */
-	private void restoreBreakpoint(IMarker marker, IMemento node) throws CoreException {
-		IMemento[] childnodes = null;
-		IMemento child = null;
-		// get the marker attributes
-		child = node.getChild(IImportExportConstants.IE_NODE_MARKER);
-		marker.setAttribute(IMarker.LINE_NUMBER, child.getInteger(IMarker.LINE_NUMBER));
-		marker.setAttribute(IImportExportConstants.IE_NODE_TYPE, child.getString(IImportExportConstants.IE_NODE_TYPE));
-		marker.setAttribute(IImportExportConstants.CHARSTART, child.getString(IImportExportConstants.CHARSTART));
-		childnodes = child.getChildren(IImportExportConstants.IE_NODE_ATTRIB);
-		String workingsets = ""; //$NON-NLS-1$
-		for (int j = 0; j < childnodes.length; j++) {
-			// get the attribute and try to convert it to either Integer, Boolean or leave it alone (String)
-			String name = childnodes[j].getString(IImportExportConstants.IE_NODE_NAME), 
-				   value = childnodes[j].getString(IImportExportConstants.IE_NODE_VALUE);
-			if (value != null & name != null) {
-				if (name.equals(IInternalDebugUIConstants.WORKING_SET_NAME)) {
-					workingsets = value;
-				}
-				try {
-					marker.setAttribute(name, Integer.valueOf(value));
-				} catch (NumberFormatException e) {
-					if (value.equalsIgnoreCase("false") || value.equalsIgnoreCase("true")) { //$NON-NLS-1$ //$NON-NLS-2$
-						marker.setAttribute(name, Boolean.valueOf(value));
-					}
-					else {
-						marker.setAttribute(name, value);
-					}
-				}
-			}
-		}
-		// create the breakpoint
-		IBreakpoint breakpoint = fManager.createBreakpoint(marker);
-		breakpoint.setEnabled(Boolean.valueOf(node.getString(IImportExportConstants.IE_BP_ENABLED)).booleanValue());
-		breakpoint.setPersisted(Boolean.valueOf(node.getString(IImportExportConstants.IE_BP_PERSISTANT)).booleanValue());
-		breakpoint.setRegistered(Boolean.valueOf(node.getString(IImportExportConstants.IE_BP_REGISTERED)).booleanValue());
-		// bug fix 110080
-		fAdded.add(breakpoint);
-		if (fCreateWorkingSets) {
-			String[] names = workingsets.split("\\" + IImportExportConstants.DELIMITER); //$NON-NLS-1$
-			for (int m = 1; m < names.length; m++) {
-				createWorkingSet(names[m], breakpoint);
-			}
-		}
-	}
-
-	/**
-	 * Creates a working set and sets the values
-	 * @param breakpoint the restored breakpoint to add to the new workingset
-	 */
-	private void createWorkingSet(String setname, IAdaptable element) {
-		IWorkingSetManager wsmanager = PlatformUI.getWorkbench().getWorkingSetManager();
-		IWorkingSet set = wsmanager.getWorkingSet(setname);
-		if (set == null) {
-			set = wsmanager.createWorkingSet(setname, new IAdaptable[] {});
-			set.setId(IDebugUIConstants.BREAKPOINT_WORKINGSET_ID);
-			wsmanager.addWorkingSet(set);
-		}
-		if (!setContainsBreakpoint(set, (IBreakpoint) element)) {
-			IAdaptable[] elements = set.getElements();
-			IAdaptable[] newElements = new IAdaptable[elements.length + 1];
-			newElements[newElements.length - 1] = element;
-			System.arraycopy(elements, 0, newElements, 0, elements.length);
-			set.setElements(newElements);
-		}
-	}
-
-	/**
-	 * Method to ensure markers and breakpoints are not both added to the working set
-	 * @param set the set to check
-	 * @param breakpoint the breakpoint to check for existence
-	 * @return true if it is present false otherwise
-	 */
-	private boolean setContainsBreakpoint(IWorkingSet set, IBreakpoint breakpoint) {
-		IAdaptable[] elements = set.getElements();
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i].equals(breakpoint)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * This method is used internally to find a non-specific marker on a given resource.
-	 * With this method we can search for similar markers even though they may have differing ids
-	 * 
-	 * @param resource the resource to search for the marker
-	 * @param line the line number or <code>null</code>
-	 * @param type the type of the marker
-	 * @param charstart the charstart attribute of the marker or <code>null</code>
-	 * @return the marker if found, or <code>null</code>
-	 */
-	private IMarker findGeneralMarker(IResource resource, String line, String type, Integer charstart) throws CoreException {
-		IMarker[] markers = resource.findMarkers(null, false, IResource.DEPTH_ZERO);
-		if (type != null) {
-			for (int i = 0; i < markers.length; i++) {
-				Object localline = markers[i].getAttribute(IMarker.LINE_NUMBER);
-				String localtype = markers[i].getType();
-				if (type.equals(localtype)) {
-					if (localline != null & line != null) {
-						if (line.equals(localline.toString())) {
-							Integer markerCharstart = (Integer) markers[i].getAttribute(IImportExportConstants.CHARSTART);
-							if (charstart == null) {
-								if (markerCharstart == null) {
-									return markers[i];
-								}
-							} else if (charstart.equals(markerCharstart)) {
-								return markers[i];
-							}
-						}
-					} else {
-						return markers[i];
-					}
-				}
-			}
-		}
-		return null;
-	}
-}
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 dfce1e6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.PlatformUI;
-
-/**
- * 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));
-		PlatformUI.getWorkbench().getHelpSystem().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 2018da9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-
-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.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.PlatformUI;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-/**
- * A cascading sub-menu that shows all launch shortcuts pertinent to a
- * launch group.
- * <p>
- * Clients may instantiate this class; not intended to be subclassed.
- * </p>
- * @since 2.1
- * @deprecated The use of perspective based launch shorcuts has been deprecated
- *  in the 3.1 release. Instead, selection sensitive launch is supported in the top level
- *  menus. Use <code>LaunchShorcutsAction</code> instead.
- */
-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(launchMode.getLaunchAsLabel()); 
-		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() + "." + getMode()); //$NON-NLS-1$
-		String helpContextId = ext.getHelpContextId();
-		if (helpContextId != null) {
-			PlatformUI.getWorkbench().getHelpSystem().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/LaunchShortcutsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
deleted file mode 100644
index 6542e68..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-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.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-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.LaunchShortcutExtension;
-import org.eclipse.debug.ui.ILaunchGroup;
-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.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-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.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-/**
- * A cascading sub-menu that shows all launch shortcuts pertinent to a
- * selection. This action is similar to <code>ContextualLaunchAction</code>
- * except this action is an <code>IAction</code> rather than an action
- * delegate.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.1
- */
-public class LaunchShortcutsAction extends Action implements IMenuCreator, IWorkbenchWindowPulldownDelegate2 {
-	
-	/**
-	 * Cascading menu 
-	 */
-	private Menu fCreatedMenu;
-	
-	/**
-	 * Launch group
-	 */
-	private ILaunchGroup fGroup;
-	
-	/**
-	 * Whether this actions enablement has been initialized
-	 */
-	private boolean fInitialized = false;
-		
-	/**
-	 * Creates a cascading menu action to populate with shortcuts in the given
-	 * launch group.
-	 *  
-	 * @param launchGroupIdentifier launch group identifier
-	 */
-	public LaunchShortcutsAction(String launchGroupIdentifier) {
-		super();
-		fGroup = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(launchGroupIdentifier);
-		ILaunchMode mode = DebugPlugin.getDefault().getLaunchManager().getLaunchMode(fGroup.getMode());
-		setText(mode.getLaunchAsLabel()); 
-		setMenuCreator(this);
-		setEnabled(existsConfigTypesForMode());
-	}
-	
-	/**
-	 * Returns the launch group associatd with this action.
-	 * 
-	 * @return the launch group associatd with this action
-	 */
-	private ILaunchGroup getLaunchGroup() {
-		return fGroup;
-	}
-
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {
-		//do nothing, this action just creates a cascading menu.
-	}
-	
-	/**
-	 * @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));
-		initMenu();
-		return getCreatedMenu();
-	}
-	
-	/**
-	 * @return an Evaluation context with default variable = selection
-	 */
-	private IEvaluationContext createContext() {
-	    List list = null;
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-			    IWorkbenchPart activePart = page.getActivePart();
-			    if (activePart instanceof IEditorPart) {
-			        list = new ArrayList();
-			        list.add(((IEditorPart)activePart).getEditorInput());
-			    } else if (activePart != null) {
-			        IWorkbenchPartSite site = activePart.getSite();
-			        if (site != null) {
-	                    ISelectionProvider selectionProvider = site.getSelectionProvider();
-	                    if (selectionProvider != null) {
-	                        ISelection selection = selectionProvider.getSelection();
-					        if (selection instanceof IStructuredSelection) {
-					            list = ((IStructuredSelection)selection).toList();
-					        }
-	                    }
-			        }
-			    }
-			}
-		}	    
-		// create a default evaluation context with default variable
-		// of the user selection or editor input
-		if (list == null) {
-		    list = Collections.EMPTY_LIST;
-		}
-		IEvaluationContext context = new EvaluationContext(null, list);
-		context.addVariable("selection", list); //$NON-NLS-1$
-		
-		return context;
-	}	
-	
-	private void fillMenu() {
-		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(getLaunchGroup().getCategory());
-		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;
-		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(getMode())) {
-					populateMenuItem(mode, ext, fCreatedMenu, accelerator++);
-				}
-			}
-		}
-		if (accelerator == 1) {
-			// No shortcuts added. Add "none available" action.
-			IAction action= new Action(ActionMessages.LaunchShortcutsAction_1) {}; 
-			action.setEnabled(false);
-			ActionContributionItem item= new ActionContributionItem(action);
-			item.fill(fCreatedMenu, -1);
-		}
-	}
-	
-	/**
-	 * 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() + "." + mode); //$NON-NLS-1$
-		String helpContextId = ext.getHelpContextId();
-		if (helpContextId != null) {
-			PlatformUI.getWorkbench().getHelpSystem().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);
-	}
-	
-	/**
-	 * 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);
-	}
-	
-	/**
-	 * 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();
-			}
-		});
-	}
-		
-	/**
-	 * Returns the mode of this action - run or debug 
-	 * 
-	 * @return the mode of this action - run or debug
-	 */
-	private String getMode() {
-		return getLaunchGroup().getMode();
-	}
-	
-	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) {
-	}
-
-	/**
-	 * @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 (!fInitialized) {
-	        action.setEnabled(existsConfigTypesForMode());
-	        fInitialized = true;
-	    }
-	}
-
-	/**
-	 * 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;
-	}
-}
-
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 8c38edc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.PlatformUI;
-
-/**
- * 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());
-		}
-		PlatformUI.getWorkbench().getHelpSystem().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/RulerBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointAction.java
deleted file mode 100644
index 9fdaa4e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointAction.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.SimpleMarkerAnnotation;
-
-/**
- * Abstract action that works on breakpoints in the vertical ruler.
- * <p>
- * This class may be subclassed.
- * </p>
- * @since 3.2
- */
-public abstract class RulerBreakpointAction extends Action {
-	
-	private ITextEditor fEditor;
-	private IVerticalRulerInfo fRulerInfo;
-	
-	/**
-	 * Constructs an action to work on breakpoints in the specified
-	 * text editor with the specified vertical ruler info.
-	 * 
-	 * @param editor text editor
-	 * @param info vertical ruler info
-	 */
-	public RulerBreakpointAction(ITextEditor editor, IVerticalRulerInfo info) {
-		fEditor = editor;
-		fRulerInfo = info;
-	}
-
-	/**
-	 * Returns the breakpoint at the last line of mouse activity in the ruler
-	 * or <code>null</code> if none.
-	 * 
-	 * @return breakpoint associated with activity in the ruler or <code>null</code>
-	 */
-	protected IBreakpoint getBreakpoint() {
-		IAnnotationModel annotationModel = fEditor.getDocumentProvider().getAnnotationModel(fEditor.getEditorInput());
-		IDocument document = fEditor.getDocumentProvider().getDocument(fEditor.getEditorInput());
-		if (annotationModel != null) {
-			Iterator iterator = annotationModel.getAnnotationIterator();
-			while (iterator.hasNext()) {
-				Object object = iterator.next();
-				if (object instanceof SimpleMarkerAnnotation) {
-					SimpleMarkerAnnotation markerAnnotation = (SimpleMarkerAnnotation) object;
-					IMarker marker = markerAnnotation.getMarker();
-					try {
-						if (marker.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
-							Position position = annotationModel.getPosition(markerAnnotation);
-							int line = document.getLineOfOffset(position.getOffset());
-							if (line == fRulerInfo.getLineOfLastMouseButtonActivity()) {
-								IBreakpoint breakpoint = DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(marker);
-								if (breakpoint != null) {
-									return breakpoint;
-								}
-							}
-						}
-					} catch (CoreException e) {
-					} catch (BadLocationException e) {
-					}
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the editor this action was created for.
-	 * 
-	 * @return editor
-	 */
-	protected ITextEditor getEditor() {
-		return fEditor;
-	}
-	
-	/**
-	 * Returns the vertical ruler info this action was created for.
-	 * 
-	 * @return vertical ruler info
-	 */
-	protected IVerticalRulerInfo getVerticalRulerInfo() {
-		return fRulerInfo;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerEnableDisableBreakpointActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerEnableDisableBreakpointActionDelegate.java
deleted file mode 100644
index 4b58aeb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerEnableDisableBreakpointActionDelegate.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.debug.internal.ui.actions.breakpoints.RulerEnableDisableBreakpointAction;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Toggles enablement of a breakpoint in a vertical ruler.
- * This action can be contributed to a vertical ruler context menu via the
- * <code>popupMenus</code> extension point, by referencing the ruler's context
- * menu identifier in the <code>targetID</code> attribute.
- * <pre>
- * &lt;extension point="org.eclipse.ui.popupMenus"&gt;
- *   &lt;viewerContribution
- *     targetID="example.rulerContextMenuId"
- *     id="example.RulerPopupActions"&gt;
- *       &lt;action
- *         label="Enable Breakpoint"
- *         class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
- *         menubarPath="additions"
- *         id="example.rulerContextMenu.toggleBreakpointAction"&gt;
- *       &lt;/action&gt;
- *   &lt;/viewerContribution&gt;
- * </pre>
- * </p>
- * <p>
- * Clients may refer to this class as an action delegate in plug-in XML. This class
- * is not intended to be subclassed.
- * </p>
- * @since 3.2
- *
- */
-public class RulerEnableDisableBreakpointActionDelegate extends AbstractRulerActionDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractRulerActionDelegate#createAction(org.eclipse.ui.texteditor.ITextEditor, org.eclipse.jface.text.source.IVerticalRulerInfo)
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		return new RulerEnableDisableBreakpointAction(editor, rulerInfo);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerToggleBreakpointActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerToggleBreakpointActionDelegate.java
deleted file mode 100644
index b38d459..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerToggleBreakpointActionDelegate.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.swt.widgets.Event;
-
-import org.eclipse.jface.action.IAction;
-
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Toggles a breakpoint when ruler is double-clicked. This action delegate can be 
- * contributed to an editor with the <code>editorActions</code> extension point.
- * This action is as a factory that creates another action that performs the
- * actual breakpoint toggling. The created action acts on the editor's
- * <code>IToggleBreakpointsTagret</code> to toggle breakpoints.
- * <p>
- * Following is example plug-in XML used to contribute this action to an editor.
- * Note that the label attribute of this action is not displayed in the editor.
- * Instead, the label of the created action is displayed. 
- * <pre>
- * &lt;extension point="org.eclipse.ui.editorActions"&gt;
- *    &lt;editorContribution
- *          targetID="example.editor"
- *          id="example.rulerActions"&gt;
- *       &lt;action
- *             label="Not Used"
- *             class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
- *             style="push"
- *             actionID="RulerDoubleClick"
- *             id="example.doubleClickBreakpointAction"/&gt;
- *    &lt;/editorContribution&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * This action can also be contributed to a vertical ruler context menu via the
- * <code>popupMenus</code> extension point, by referencing the ruler's context
- * menu identifier in the <code>targetID</code> attribute.
- * <pre>
- * &lt;extension point="org.eclipse.ui.popupMenus"&gt;
- *   &lt;viewerContribution
- *     targetID="example.rulerContextMenuId"
- *     id="example.RulerPopupActions"&gt;
- *       &lt;action
- *         label="Toggle Breakpoint"
- *         class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
- *         menubarPath="additions"
- *         id="example.rulerContextMenu.toggleBreakpointAction"&gt;
- *       &lt;/action&gt;
- *   &lt;/viewerContribution&gt;
- * </pre>
- * </p>
- * <p>
- * Clients may refer to this class as an action delegate in plug-in XML. This class
- * is not intended to be subclassed.
- * </p>
- * @since 3.1
- */
-public class RulerToggleBreakpointActionDelegate extends AbstractRulerActionDelegate implements IActionDelegate2 {
-	
-	private IEditorPart fEditor = null;
-	private ToggleBreakpointAction fDelegate = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractRulerActionDelegate#createAction(org.eclipse.ui.texteditor.ITextEditor, org.eclipse.jface.text.source.IVerticalRulerInfo)
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		fDelegate = new ToggleBreakpointAction(editor, null, rulerInfo);
-		return fDelegate;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IAction callerAction, IEditorPart targetEditor) {
-		if (fEditor != null) {
-			if (fDelegate != null) {
-				fDelegate.dispose();
-				fDelegate = null;
-			}
-		}
-		fEditor = targetEditor;
-		super.setActiveEditor(callerAction, targetEditor);
-	}
-
-	/* (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() {
-		if (fDelegate != null) {
-			fDelegate.dispose();
-		}
-		fDelegate = null;
-		fEditor = 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/ui/actions/RunAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
deleted file mode 100644
index 9ef2847..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 1232c20..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineActionDelegate.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Mikhail Khodjaiants (QNX) - https://bugs.eclipse.org/bugs/show_bug.cgi?id=83464
- *******************************************************************************/
-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.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextManager;
-import org.eclipse.debug.ui.DebugUITools;
-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.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * A run to line action that can be contributed to a an editor or view. The action
- * will perform the "run to line" operation for parts that provide
- * an appropriate <code>IRunToLineTarget</code> adapter.
- * <p>
- * Clients may reference/contribute this class as an action delegate
- * in plug-in XML. This class is not intended to be subclassed.
- * </p>
- * <p>
- * Since 3.1, this action also implements {@link org.eclipse.ui.IViewActionDelegate}.
- * </p>
- * @since 3.0
- */
-public class RunToLineActionDelegate implements IEditorActionDelegate, IActionDelegate2, IViewActionDelegate {
-	
-	private IWorkbenchPart fActivePart = null;
-	private IRunToLineTarget fPartTarget = null;
-	private IAction fAction = null;
-	private IDebugContextListener fContextListener = new DebugContextListener();
-	private ISuspendResume fTargetElement = null;
-	
-	class DebugContextListener implements IDebugContextListener {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextActivated(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-		 */
-		public void contextActivated(ISelection selection, IWorkbenchPart part) {
-			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.debug.internal.ui.contexts.provisional.IDebugContextListener#contextChanged(org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-		 */
-		public void contextChanged(ISelection selection, IWorkbenchPart part) {
-			contextActivated(selection, part);
-		}
-		
-	}		
-	
-	/*(non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-		DebugContextManager.getDefault().removeDebugContextListener(fContextListener, fActivePart.getSite().getWorkbenchWindow());
-		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.RunToLineAction_0, ActionMessages.RunToLineAction_1, e.getStatus()); // 
-			}
-		}
-	}
-	/* (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;
-		}
-		Runnable r = new Runnable() {
-			public void run() {
-				boolean enabled = false;
-				if (fPartTarget != null && fTargetElement != null) {
-					IWorkbenchPartSite site = fActivePart.getSite();
-					if (site != null) {
-					    ISelectionProvider selectionProvider = site.getSelectionProvider();
-					    if (selectionProvider != null) {
-					        ISelection selection = selectionProvider.getSelection();
-					        enabled = fTargetElement.isSuspended() && fPartTarget.canRunToLine(fActivePart, selection, fTargetElement);
-					    }
-					}
-				}
-				fAction.setEnabled(enabled);				
-			}
-		};
-		DebugUIPlugin.getStandardDisplay().asyncExec(r);
-	}
-		
-	/* (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.RunToLineActionDelegate_4); 
-			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);
-		bindTo(targetEditor);	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		bindTo(view);
-	}
-	
-	/**
-	 * Binds this action to operate on the given part's run to line adapter.
-	 *  
-	 * @param part
-	 */
-	private void bindTo(IWorkbenchPart part) {
-		IDebugContextManager manager = DebugContextManager.getDefault();
-		if (fActivePart != null && !fActivePart.equals(part)) {
-			manager.removeDebugContextListener(fContextListener, fActivePart.getSite().getWorkbenchWindow());
-		}
-		fPartTarget = null;
-		fActivePart = part;
-		if (part != null) {
-			IWorkbenchWindow workbenchWindow = part.getSite().getWorkbenchWindow();
-			manager.addDebugContextListener(fContextListener, workbenchWindow);
-			fPartTarget  = (IRunToLineTarget) part.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(part, IRunToLineTarget.class.getName())) {
-					fPartTarget = (IRunToLineTarget) adapterManager.loadAdapter(part, IRunToLineTarget.class.getName());
-				}
-			}
-			ISelection activeContext = manager.getActiveContext(workbenchWindow);
-			fContextListener.contextActivated(activeContext, part);
-		}
-		update();			
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java
deleted file mode 100644
index 4296abb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-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.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointManagerListener;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Handles a run to line operation. Clients implementing a run to line action
- * can use this handler to carry out a run to line operation implemented with 
- * a breakpoint. Handles the user preference to skip breakpoints while performing
- * a run to line operation, and cancelling the run to line operation if another
- * breakpoint is encountered before the operation is completed. 
- * <p>
- * Clients may instantiate this class. This class is not intended to be subclassed.
- * </p>
- * @since 3.1
- */
-public class RunToLineHandler implements IDebugEventSetListener, IBreakpointManagerListener, IWorkspaceRunnable {
-    
-    private IDebugTarget fTarget;
-    private ISuspendResume fResumee;
-    private IBreakpoint fBreakpoint;
-    private boolean fAutoSkip = false;
-    
-    /**
-     * Constructs a handler to perform a run to line operation.
-     * 
-     * @param target the debug target in which the operation is to be performed
-     * @param suspendResume the element to be resumed to begin the operation
-     * @param breakpoint the run to line breakpoint
-     */
-    public RunToLineHandler(IDebugTarget target, ISuspendResume suspendResume, IBreakpoint breakpoint) {
-        fResumee = suspendResume;
-        fTarget = target;
-        fBreakpoint = breakpoint;
-    }
-
-    /* (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 (source instanceof IThread && event.getKind() == DebugEvent.SUSPEND &&
-                    event.getDetail() == DebugEvent.BREAKPOINT) {
-                IThread thread = (IThread) source;
-                IDebugTarget suspendee = (IDebugTarget) thread.getAdapter(IDebugTarget.class);
-                if (fTarget.equals(suspendee)) {
-                    // cleanup if the breakpoint was hit or not
-                    cancel();
-                }
-            } else if (source instanceof IDebugTarget && event.getKind() == DebugEvent.TERMINATE) {
-                if (source.equals(fTarget)) {
-                    // Clean up if the debug target terminates without
-                    // hitting the breakpoint.
-                    cancel();
-                }
-            }
-        }
-        
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.IBreakpointManagerListener#breakpointManagerEnablementChanged(boolean)
-     */
-    public void breakpointManagerEnablementChanged(boolean enabled) {
-        // if the user changes the breakpoint manager enablement, don't restore it
-        fAutoSkip = false;
-    }
-    
-    private IBreakpointManager getBreakpointManager() {
-        return getDebugPlugin().getBreakpointManager();
-    }
-    
-    private DebugPlugin getDebugPlugin() {
-        return DebugPlugin.getDefault();
-    }
-    
-    /**
-     * Cancels the run to line operation.
-     */
-    public void cancel() {
-        IBreakpointManager manager = getBreakpointManager();
-        try {
-            getDebugPlugin().removeDebugEventListener(this);
-            manager.removeBreakpointManagerListener(this);
-            fTarget.breakpointRemoved(fBreakpoint, null);
-        } finally {
-            if (fAutoSkip) {
-                manager.setEnabled(true);
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IWorkspaceRunnable#run(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void run(IProgressMonitor monitor) throws CoreException {
-        getDebugPlugin().addDebugEventListener(this);
-        IBreakpointManager breakpointManager = getBreakpointManager();
-        fAutoSkip = DebugUITools.getPreferenceStore().getBoolean(IDebugUIConstants.PREF_SKIP_BREAKPOINTS_DURING_RUN_TO_LINE) && breakpointManager.isEnabled();
-        if (fAutoSkip) {
-            getBreakpointManager().setEnabled(false);
-            breakpointManager.addBreakpointManagerListener(this);
-        }
-        Job job = new Job(ActionMessages.RunToLineHandler_0) { 
-            protected IStatus run(IProgressMonitor jobMonitor) {
-                if (!jobMonitor.isCanceled()) {
-                    fTarget.breakpointAdded(fBreakpoint);
-                    try {
-                        fResumee.resume();
-                    } catch (DebugException e) {
-                        cancel();
-                        return e.getStatus();
-                    }
-                }
-                return Status.OK_STATUS;
-            }  
-        };
-        job.schedule();
-    }
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java
deleted file mode 100644
index 0719426..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Action to toggle a breakpoint in a vertical ruler of a workbench part
- * containing a document. The part must provide an <code>IToggleBreakpointsTarget</code>
- * adapter which may optionally be an instance of an
- * <code>IToggleBreakpointsTargetExtension</code>.
- * <p>
- * Clients may instantiate this class. This class is not intended to be subclassed.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate
- */
-public class ToggleBreakpointAction extends Action implements IUpdate {
-	
-	private IWorkbenchPart fPart;
-	private IDocument fDocument;
-	private IVerticalRulerInfo fRulerInfo;
-
-	/**
-	 * Constructs a new action to toggle a breakpoint in the given
-	 * part containing the given document and ruler.
-	 * 
-	 * @param part the part in which to toggle the breakpoint - provides
-	 *  an <code>IToggleBreakpointsTarget</code> adapter
-	 * @param document the document breakpoints are being set in or 
-	 * <code>null</code> when the document should be derived from the
-	 * given part
-	 * @param rulerInfo specifies location the user has double-clicked 
-	 */
-	public ToggleBreakpointAction(IWorkbenchPart part, IDocument document, IVerticalRulerInfo rulerInfo) {
-		super(ActionMessages.ToggleBreakpointAction_0); 
-		fPart = part;
-		fDocument = document;
-		fRulerInfo = rulerInfo;
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		IDocument document= getDocument();
-		if (document == null) {
-			return;
-		}
-		IToggleBreakpointsTarget adapter = (IToggleBreakpointsTarget) fPart.getAdapter(IToggleBreakpointsTarget.class);
-		if (adapter == null) {
-			// attempt to force load adapter
-			IAdapterManager manager = Platform.getAdapterManager();
-			if (manager.hasAdapter(fPart, IToggleBreakpointsTarget.class.getName())) {
-				adapter = (IToggleBreakpointsTarget) manager.loadAdapter(fPart, IToggleBreakpointsTarget.class.getName());
-			}
-		}
-		if (adapter == null) {
-			return;
-		}
-		int line = fRulerInfo.getLineOfLastMouseButtonActivity();
-		
-		// Test if line is valid 
-		if (line == -1)
-			return;
-
-		/*
-		 * XXX: remove once the following bug is fixed:
-		 * 		https://bugs.eclipse.org/bugs/show_bug.cgi?id=99234
-		 */ 
-		if (line >= document.getNumberOfLines())
-			return;
-		
-		try {
-			IRegion region = document.getLineInformation(line);
-			ITextSelection selection = new TextSelection(document, region.getOffset(), 0);
-			if (adapter instanceof IToggleBreakpointsTargetExtension) {
-				IToggleBreakpointsTargetExtension extension = (IToggleBreakpointsTargetExtension) adapter;
-				if (extension.canToggleBreakpoints(fPart, selection)) {
-					extension.toggleBreakpoints(fPart, selection);
-					return;
-				}
-			}
-			if (adapter.canToggleLineBreakpoints(fPart, selection)) {
-				adapter.toggleLineBreakpoints(fPart, selection);
-			} else if (adapter.canToggleWatchpoints(fPart, selection)) {
-				adapter.toggleWatchpoints(fPart, selection);
-			} else if (adapter.canToggleMethodBreakpoints(fPart, selection)) {
-				adapter.toggleMethodBreakpoints(fPart, selection);
-			}
-		} catch (BadLocationException e) {
-			reportException(e);
-		} catch (CoreException e) {
-			reportException(e);
-		}
-	}
-	
-	/**
-	 * Report an error to the user.
-	 * 
-	 * @param e underlying exception
-	 */
-	private void reportException(Exception e) {
-		DebugUIPlugin.errorDialog(fPart.getSite().getShell(), ActionMessages.ToggleBreakpointAction_1, ActionMessages.ToggleBreakpointAction_2, e); // 
-	}
-	
-	/**
-	 * Disposes this action. Clients must call this method when
-	 * this action is no longer needed.
-	 */
-	public void dispose() {
-		fDocument = null;
-		fPart = null;
-		fRulerInfo = null;
-	}
-
-	/**
-	 * Returns the document on which this action operates.
-	 * 
-	 * @return the document or <code>null</code> if none
-	 */
-	private IDocument getDocument() {
-		if (fDocument != null)
-			return fDocument;
-		
-		if (fPart instanceof ITextEditor) {
-			ITextEditor editor= (ITextEditor)fPart;
-			IDocumentProvider provider = editor.getDocumentProvider();
-			if (provider != null)
-				return provider.getDocument(editor.getEditorInput());
-		}
-		
-		IDocument doc = (IDocument) fPart.getAdapter(IDocument.class);
-		if (doc != null) {
-			return doc;
-		}
-		
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		IDocument document= getDocument();
-		if (document != null) {
-			IToggleBreakpointsTarget adapter = (IToggleBreakpointsTarget) fPart.getAdapter(IToggleBreakpointsTarget.class);
-			if (adapter == null) {
-				// attempt to force load adapter
-				IAdapterManager manager = Platform.getAdapterManager();
-				if (manager.hasAdapter(fPart, IToggleBreakpointsTarget.class.getName())) {
-					adapter = (IToggleBreakpointsTarget) manager.loadAdapter(fPart, IToggleBreakpointsTarget.class.getName());
-				}
-			}
-			if (adapter != null) {
-				int line = fRulerInfo.getLineOfLastMouseButtonActivity();
-				
-				// Test if line is valid 
-				if (line > 0) {
-					/*
-					 * XXX: remove once the following bug is fixed:
-					 * 		https://bugs.eclipse.org/bugs/show_bug.cgi?id=99234
-					 */ 
-					if (line < document.getNumberOfLines()) {
-						try {
-							IRegion region = document.getLineInformation(line);
-							ITextSelection selection = new TextSelection(document, region.getOffset(), 0);
-							if (adapter instanceof IToggleBreakpointsTargetExtension) {
-								IToggleBreakpointsTargetExtension extension = (IToggleBreakpointsTargetExtension) adapter;
-								if (extension.canToggleBreakpoints(fPart, selection)) {
-									setEnabled(true);
-									return;
-								}
-							}
-							if (adapter.canToggleLineBreakpoints(fPart, selection) |
-								adapter.canToggleWatchpoints(fPart, selection) |
-								adapter.canToggleMethodBreakpoints(fPart, selection)) {
-									setEnabled(true);
-									return;
-							}
-						} catch (BadLocationException e) {
-							reportException(e);
-						}
-					}
-				}
-			}
-		}
-		setEnabled(false);
-	}
-
-}
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 59c9c9b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleMethodBreakpointActionDelegate.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.internal.ui.actions.breakpoints.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 0c765f5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleWatchpointActionDelegate.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.internal.ui.actions.breakpoints.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 23a5355..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-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;
-	}
-}
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 a2633c4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-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 {
-                                IRegion region= document.getLineInformation(fFileLineNumber - 1);
-								fFileOffset = region.getOffset();
-								fFileLength = region.getLength();
-							} 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(), getFileContentType());
-			if (desc == null) {
-				//default editor
-				desc= workbench.getEditorRegistry().findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-			}
-			fEditorId= desc.getId();
-		}
-		return fEditorId;
-	}
-
-    private IContentType getFileContentType() {
-        try {
-            IContentDescription description= fFile.getContentDescription();
-            if (description != null) {
-                return description.getContentType();
-            }
-        } catch (CoreException e) {
-        }
-        return null;
-    }
-}
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 283296b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsole.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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;
-import org.eclipse.ui.console.IHyperlink;
-import org.eclipse.ui.console.IOConsoleOutputStream;
-import org.eclipse.ui.console.IPatternMatchListener;
-
-/**
- * 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
-	 * @deprecated replaced with addLink(IHyperlink link, int offset, int length)
-	 */
-	public void addLink(IConsoleHyperlink link, int offset, int length);
-
-	/**
-	 * 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
-	 * @since 3.1
-	 */
-	public void addLink(IHyperlink 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>
-	 * @deprecated replaced with getRegion(IHyperlink link) instead
-	 */
-	public IRegion getRegion(IConsoleHyperlink link);
-
-	/**
-	 * 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>
-	 * @since 3.1
-	 */
-	public IRegion getRegion(IHyperlink 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();
-	
-	/**
-	 * Adds the given pattern match listener to this console. The listener will
-     * be connected and receive match notifications.
-	 * @param matchListener the listener to add
-	 * @since 3.1
-	 */
-	public void addPatternMatchListener(IPatternMatchListener matchListener);
-	
-    /**
-     * Removes the given pattern match listener from this console. The listener will be
-     * disconnected and will no longer receive match notifications. 
-     * @param matchListener the pattern match listener to remove.
-     * @since 3.1
-     */
-	public void removePatternMatchListener(IPatternMatchListener matchListener);
-	
-	/**
-	 * Returns the stream associated with the specified stream identifier.
-     * @param streamIdentifier Uniquely identifies the required stream 
-     * @return The stream or <code>null</code> if none found with matching streamIdentifier
-     * @since 3.1
-     */
-	public IOConsoleOutputStream getStream(String streamIdentifier);
-}
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 86b1bf8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleColorProvider.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 the identifier of the stream
-	 * @return Color
-	 */
-	public Color getColor(String streamIdentifer);
-	
-	/**
-	 * Connects this color provider to the given process and console.
-	 * This color provider should connect its streams to the given console
-	 * document.
-	 * 
-	 * @param process the process to connect this color provider to
-	 * @param console the console  to connect this color provider to
-	 */
-	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 b735fac..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleHyperlink.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.console;
-
-import org.eclipse.ui.console.IHyperlink;
-
-
-/**
- * A hyperlink in the console. Link behavior is implementation dependent.
- * <p>
- * Clients may implement this interface.
- * </p>
- * <p>
- * Since 3.1, this interface now extends {@link org.eclipse.ui.console.IHyperlink}.
- * </p>
- * @since 2.1
- * @deprecated replaced by org.eclipse.ui.console.IHyperlink
- */
-public interface IConsoleHyperlink extends IHyperlink {
-}
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 a518818..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTracker.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 e8c61ad..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTrackerExtension.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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/memory/AbstractMemoryRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRendering.java
deleted file mode 100644
index 510f6ff..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRendering.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.internal.ui.views.memory.PropertyChangeNotifier;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-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.ILabelDecorator;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchActionConstants;
-
-/**
- * Abstract implementation of a memory rendering.
- * <p>
- * To contribute an action to a rendering, an <code>objectContribution</code> can
- * be used on a rendering implementation class itself using a 
- * <code>popupMenus</code> extension. Additionaly, the context menu created
- * by <code>createPopupMenu()</code> is registered with an identifier of this
- * rendering's container identifier. Actions may also be contributed to the
- * container's context menu specifically by using a  <code>viewerContribution</code>
- * on a <code>popupMenus</code> extension that has a <code>targetID</code> refering
- * to this rendering container's identifier. 
- * </p>
- * <p>
- * Clients implementing memory renderings must subclass this class.
- * </p>
- * @since 3.1
- */
-public abstract class AbstractMemoryRendering extends PlatformObject implements IMemoryRendering{
-
-	private IMemoryBlock fMemoryBlock;
-	private IMemoryRenderingContainer fContainer;
-	private ListenerList fPropertyListeners;
-	private boolean fVisible = true;
-	private MenuManager fPopupMenuMgr;
-	private String fRenderingId;
-	
-	private class ConnectionJob extends Job
-	{
-		Runnable fRunnable;
-		ConnectionJob(Runnable runnable)
-		{
-			super("Connect/Disconnect MemoryBlock"); //$NON-NLS-1$
-			fRunnable = runnable;
-			setSystem(true);
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			fRunnable.run();
-			return Status.OK_STATUS;
-		}
-	}
-	
-	/**
-	 * Cient may provide a label decorator adapter from its memory block
-	 * to decorate the label of a rendering.
-	 * @since 3.2 
-	 */
-	private ILabelDecorator fLabelDecorator;
-	
-	/**
-	 * Constructs a new rendering of the given type.
-	 * 
-	 * @param renderingId memory rendering type identifier
-	 */
-	public AbstractMemoryRendering(String renderingId)
-	{
-		fRenderingId = renderingId;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#init(org.eclipse.debug.ui.memory.IMemoryRenderingSite, org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void init(IMemoryRenderingContainer container, IMemoryBlock block) {
-		fContainer = container;
-		fMemoryBlock = block;
-		
-		fLabelDecorator = (ILabelDecorator)fMemoryBlock.getAdapter(ILabelDecorator.class);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#dispose()
-	 */
-	public void dispose()
-	{
-		// disconnect from memory block when rendering is disposed
-		if (fMemoryBlock instanceof IMemoryBlockExtension)
-		{
-			Runnable runnable = new Runnable(){
-				public void run() {
-					((IMemoryBlockExtension)fMemoryBlock).disconnect(this);		
-				}};
-			new ConnectionJob(runnable).schedule();
-		}
-		
-		if (fPropertyListeners != null)
-			fPropertyListeners = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#activated()
-	 */
-	public void activated() {
-		if (fContainer.getMemoryRenderingSite().getSynchronizationService() != null)
-			fContainer.getMemoryRenderingSite().getSynchronizationService().setSynchronizationProvider(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#deactivated()
-	 */
-	public void deactivated() {
-		// do nothing when deactivated
-		// we do not want to set the sync provider from rendering site
-		// to null because Linux GTK unexpectedly fires deactivated event.
-		// If we reset the sync provider upon a deactivated event, it screws
-		// up synchronizatoin on Linux GTK.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#becomesVisible()
-	 */
-	public void becomesVisible() {
-		fVisible = true;
-		
-		if (fMemoryBlock instanceof IMemoryBlockExtension)
-		{
-			Runnable runnable = new Runnable(){
-				public void run() {
-					((IMemoryBlockExtension)fMemoryBlock).connect(this);		
-				}};
-			new ConnectionJob(runnable).schedule();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#becomesHidden()
-	 */
-	public void becomesHidden() {
-		fVisible = false;
-		if (fMemoryBlock instanceof IMemoryBlockExtension)
-		{
-			Runnable runnable = new Runnable(){
-				public void run() {
-					((IMemoryBlockExtension)fMemoryBlock).disconnect(this);		
-				}};
-			new ConnectionJob(runnable).schedule();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#getMemoryBlock()
-	 */
-	public IMemoryBlock getMemoryBlock() {
-		return fMemoryBlock;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#getRenderingId()
-	 */
-	public String getRenderingId()
-	{
-		return fRenderingId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-				
-		if (fPropertyListeners == null)
-			fPropertyListeners = new ListenerList();
-		
-		fPropertyListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		
-		if (fPropertyListeners == null)
-			return;
-		fPropertyListeners.remove(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#getImage()
-	 */
-	public Image getImage() {
-		return decorateImage(null);
-	}
-	
-	/**
-	 * Decorates and returns this rendering's image.
-	 * 
-	 * @param image base image
-	 * @return decorated image
-	 * @since 3.2
-	 */	
-	protected Image decorateImage(Image image) {
-		if (fLabelDecorator != null)
-			return fLabelDecorator.decorateImage(image, this);
-		return image;		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#getLabel()
-	 */
-	public  String getLabel()
-	{
-		if (fMemoryBlock == null)
-			return ""; //$NON-NLS-1$
-		
-		StringBuffer label = new StringBuffer(""); //$NON-NLS-1$
-		
-		if (fMemoryBlock instanceof IMemoryBlockExtension)
-		{
-			String expression = ((IMemoryBlockExtension)fMemoryBlock).getExpression();
-			
-			if (expression == null)
-				expression = ""; //$NON-NLS-1$
-			
-			label.append(expression);
-			
-			if (expression.startsWith("&")) //$NON-NLS-1$
-				label.insert(0, "&"); //$NON-NLS-1$		
-			
-			// show full address if the rendering is visible
-			// hide address if the rendering is invisible
-			try {
-				if (fVisible && ((IMemoryBlockExtension)fMemoryBlock).getBigBaseAddress() != null)
-				{	
-					label.append(" : 0x"); //$NON-NLS-1$
-					label.append(((IMemoryBlockExtension)fMemoryBlock).getBigBaseAddress().toString(16).toUpperCase());
-				}
-			} catch (DebugException e) {
-				// do nothing... the label will not show memory block's address
-			}
-		}
-		else
-		{
-			long address = fMemoryBlock.getStartAddress();
-			label.append(Long.toHexString(address).toUpperCase());
-		}
-		
-		IMemoryRenderingType type = DebugUITools.getMemoryRenderingManager().getRenderingType(getRenderingId());
-		
-		if (type != null)
-		{
-			String preName = type.getLabel();
-			
-			if (preName != null)
-			{
-				label.append(" <"); //$NON-NLS-1$
-				label.append(preName);
-				label.append(">");  //$NON-NLS-1$
-			}
-		}
-		
-		return decorateLabel(label.toString());
-	}
-	
-	/**
-	 * Decorates and returns this rendering's label.
-	 * 
-	 * @param label base label
-	 * @return decorated label
-	 * @since 3.2
-	 */
-	protected String decorateLabel(String label) {
-		if (fLabelDecorator != null)
-			return fLabelDecorator.decorateText(label.toString(), this);
-		return label.toString();		
-	}
-	
-	/**
-	 * Helper method for creating a pop up menu in the rendering for a control.
-	 * Call this method when a context menu is required for a control
-	 * in a rendering.
-	 * <p>
-	 * To contribute an action to a rendering, an <code>objectContribution</code> can
-	 * be used on a rendering implementation class itself using a 
-	 * <code>popupMenus</code> extension. Additionaly, the context menu created
-	 * by this method is registered with an identifier of this rendering's container.
-	 * Actions may also be contributed to the context menu specifically by using a 
-	 * <code>viewerContribution</code> on a <code>popupMenus</code> extension
-	 * that has a <code>targetID</code> refering to this rendering container's identifier. 
-	 * </p>
-	 * <p>
-	 * Clients are expected to become a menu listener for their pop  up 
-	 * menu if they require to fill the context menu for the rendering.
-	 * </p>
-	 * @param control - control to create the pop up menu for
-	 */
-	protected void createPopupMenu(Control control)
-	{
-		if (fPopupMenuMgr == null)
-		{
-			fPopupMenuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-			fPopupMenuMgr.setRemoveAllWhenShown(true);
-			IMemoryRenderingSite site = fContainer.getMemoryRenderingSite();
-			String menuId = fContainer.getId();
-						
-			ISelectionProvider selProvider = site.getSite().getSelectionProvider();
-			
-			// must add additions seperator before registering the menu
-			// otherwise, we will get an error
-			fPopupMenuMgr.addMenuListener(new IMenuListener() {
-				public void menuAboutToShow(IMenuManager manager) {
-					manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-				}});
-			
-			site.getSite().registerContextMenu(menuId, fPopupMenuMgr, selProvider);
-		}
-		
-		Menu popupMenu = fPopupMenuMgr.createContextMenu(control);
-		control.setMenu(popupMenu);
-	}
-	
-	/**
-	 * Returns the pop up menu manager for this rendering, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the pop up menu manager for this rendering, or <code>null</code>
-	 */
-	protected MenuManager getPopupMenuManager()
-	{
-		return fPopupMenuMgr;
-	}
-	
-	/**
-	 * Fires the given event to all registered listeners.
-	 * 
-	 * @param event the event to fire
-	 */
-	protected void firePropertyChangedEvent(PropertyChangeEvent event)
-	{
-		if (fPropertyListeners == null)
-			return;
-		
-		Object[] listeners = fPropertyListeners.getListeners();
-		
-		for (int i=0; i<listeners.length; i++)
-		{	
-			PropertyChangeNotifier notifier = new PropertyChangeNotifier((IPropertyChangeListener)listeners[i], event);
-			SafeRunner.run(notifier);
-		}
-	}
-	
-	/**
-	 * Returns the container hosting this memory rendering.
-	 * 
-	 * @return the container hosting this memory rendering
-	 */
-	public IMemoryRenderingContainer getMemoryRenderingContainer()
-	{
-		return fContainer;
-	}
-
-	/**
-	 * Returns whether this rendering is currently visible.
-	 * 
-	 * @return whether this rendering is currently visible
-	 */
-	public boolean isVisible() {
-		return fVisible;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java
deleted file mode 100644
index 7c1c506..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-
-/**
- * Common function for a dynamic memory rendering bindings provider.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider
- * @since 3.1
- */
-public abstract class AbstractMemoryRenderingBindingsProvider implements IMemoryRenderingBindingsProvider {
-    	
-	// list of binding listeners
-	private ListenerList fListeners;
-        
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#addListener(org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener)
-	 */
-	public void addListener(IMemoryRenderingBindingsListener listener) {
-		if (fListeners == null) {
-			fListeners = new ListenerList();
-		}
-		fListeners.add(listener);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#removeListener(org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener)
-	 */
-	public void removeListener(IMemoryRenderingBindingsListener listener) {
-		if (fListeners != null) {
-			fListeners.remove(listener);
-		}
-	}
-	
-	/**
-	 * Notifies all registered listeners that bindings have changed.
-	 */
-	protected void fireBindingsChanged() {
-		if (fListeners == null) {
-			return;
-		}
-		
-		Object[] listeners = fListeners.getListeners();
-		
-		for (int i=0; i<listeners.length; i++) {
-			if (listeners[i] instanceof IMemoryRenderingBindingsListener) {
-				final IMemoryRenderingBindingsListener listener = (IMemoryRenderingBindingsListener)listeners[i];
-				ISafeRunnable runnable = new ISafeRunnable () {
-					public void handleException(Throwable exception) {
-						DebugUIPlugin.log(exception);
-					}
-					public void run() throws Exception {
-						listener.memoryRenderingBindingsChanged();
-					}};
-				SafeRunner.run(runnable);
-			}
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java
deleted file mode 100644
index 80bbb6b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java
+++ /dev/null
@@ -1,3731 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui.memory;
-
-import java.math.BigInteger;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.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.debug.internal.ui.memory.IMemoryBlockConnection;
-import org.eclipse.debug.internal.ui.memory.IPersistableDebugElement;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
-import org.eclipse.debug.internal.ui.views.memory.renderings.CopyTableRenderingToClipboardAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.FormatTableRenderingAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.FormatTableRenderingDialog;
-import org.eclipse.debug.internal.ui.views.memory.renderings.GoToAddressAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.AbstractBaseTableRendering;
-import org.eclipse.debug.internal.ui.views.memory.renderings.PrintTableRenderingAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.ReformatAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.ResetToBaseAddressAction;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingCellModifier;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingContentInput;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingContentProvider;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingLabelProvider;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingLabelProviderEx;
-import org.eclipse.debug.internal.ui.views.memory.renderings.TableRenderingLine;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-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.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-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.custom.TableEditor;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Font;
-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.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.ScrollBar;
-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.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.part.PageBook;
-
-/**
- * Abstract implementation of a table rendering.
- * <p>
- * Clients should subclass from this class if they wish to provide a
- * table rendering.
- * </p>
- * <p>
- *
- * The label of the rendering is constructed by retrieving the expression from
- * <code>IMemoryBlockExtension</code>.  For IMemoryBlock, the label is constructed
- * using the memory block's start address.
- * 
- * This rendering manages the change states of its memory bytes if the memory
- * block does not opt to manage the change states.  For IMemoryBlockExtension, if
- * the memory block returns false when #supportsChangeManagement() is called, this
- * rendering will calculate the change state for each byte when its content is updated.
- * Clients may manages the change states of its memory block by returning true when
- * #supportsChangeManagement() is called.  This will cause this rendering to stop
- * calculating the change states of the memory block.  Instead it would rely on the
- * attributes returned in the MemoryByte array to determine if a byte has changed.
- * For IMemoryBlock, this rendering will manage the change states its content.   
- * 
- *  When firing change event, be aware of the following:
- *  - whenever a change event is fired, the content provider for Memory View
- *    view checks to see if memory has actually changed.  
- *  - If memory has actually changed, a refresh will commence.  Changes to the memory block
- *    will be computed and will be shown with the delta icons.
- *  - If memory has not changed, content will not be refreshed.  However, previous delta information 
- * 	  will be erased.  The screen will be refreshed to show that no memory has been changed.  (All
- *    delta icons will be removed.)
- *    
- * Please note that these APIs will be called multiple times by the Memory View.
- * To improve performance, debug adapters need to cache the content of its memory block and only
- * retrieve updated data when necessary.
- * </p>
-
- * @since 3.1
- */
-public abstract class AbstractTableRendering extends AbstractBaseTableRendering implements IPropertyChangeListener, IResettableMemoryRendering{	
-
-	/**
-	 *  Property identifier for the selected address in a table rendering
-	 *  This property is used for synchronization between renderings.
-	 */
-	public static final String PROPERTY_SELECTED_ADDRESS = "selectedAddress"; //$NON-NLS-1$
-	
-	/**
-	 * Property identifier for the column size in a table rendering
-	 * This property is used for synchronization between renderings.
-	 */
-	public static final String PROPERTY_COL_SIZE = "columnSize"; //$NON-NLS-1$
-	
-	/**
-	 * Property identifier for the top row address in a table rendering. 
-	 * This property is used for synchronization between renderings.
-	 */
-	public static final String PROPERTY_TOP_ADDRESS = "topAddress"; //$NON-NLS-1$
-	
-	/**
-	 * Property identifier for the row size in a table rendering
-	 * This property is used for synchronization between renderings.
-	 * @since 3.2
-	 */
-	public static final String PROPERTY_ROW_SIZE = "rowSize"; //$NON-NLS-1$
-	
-	private PageBook fPageBook;
-	private TableViewer fTableViewer;
-	private TextViewer fTextViewer;
-	
-	private int fBytePerLine;								// number of bytes per line: 16
-	private int fColumnSize;								// number of bytes per column:  1,2,4,8
-	private int fAddressableSize;	
-	
-	private boolean fIsShowingErrorPage;
-	
-	private TableRenderingContentProvider fContentProvider;
-	private BigInteger fSelectedAddress;
-	private TableRenderingContentInput fContentInput;
-	private TableRenderingCellModifier fCellModifier;
-	private boolean fIsCreated;
-	private CellEditor[] fEditors;
-	private String fLabel;
-	private TableCursor fTableCursor;
-	private boolean fIsDisposed;
-	private TraverseListener fCursorTraverseListener;
-	private KeyAdapter fCursorKeyAdapter;
-	private BigInteger fTopRowAddress;
-	
-	private CopyTableRenderingToClipboardAction fCopyToClipboardAction;
-	private GoToAddressAction fGoToAddressAction;
-	private ResetToBaseAddressAction fResetMemoryBlockAction;
-	private PrintTableRenderingAction fPrintViewTabAction;
-	private ReformatAction fReformatAction;
-	private ToggleAddressColumnAction fToggleAddressColumnAction;
-	private EventHandleLock fEvtHandleLock = new EventHandleLock();
-	private TableEditor fCursorEditor;
-	private FocusAdapter fEditorFocusListener;
-	private MouseAdapter fCursorMouseListener;
-	private KeyAdapter fEditorKeyListener;
-	private SelectionAdapter fCursorSelectionListener;
-	private IWorkbenchAdapter fWorkbenchAdapter;
-	private IMemoryBlockConnection fConnection;
-	
-	private boolean fIsShowAddressColumn = true;
-	private SelectionAdapter fScrollbarSelectionListener;
-
-	private PropertyDialogAction fPropertiesAction;
-	
-	private int fPageSize;
-	private NextPageAction fNextAction;
-	private PrevPageAction fPrevAction;
-
-	private Shell fToolTipShell;
-	private FormatTableRenderingAction fFormatRenderingAction;
-	
-	private class EventHandleLock
-	{
-		Object fOwner;
-		
-		public boolean acquireLock(Object client)
-		{
-			if (fOwner == null)
-			{
-				fOwner = client;
-				return true;
-			}
-			return false;
-		}
-		
-		public boolean releaseLock(Object client)
-		{
-			if (fOwner == client)
-			{
-				fOwner = null;
-				return true;
-			}
-			return false;
-		}
-		
-		public boolean isLocked()
-		{
-			return (fOwner != null);
-		}
-	}	
-	
-	
-	private class ToggleAddressColumnAction extends Action {
-
-		public ToggleAddressColumnAction() {
-			super();
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID
-					+ ".ShowAddressColumnAction_context"); //$NON-NLS-1$
-			updateActionLabel();
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.action.IAction#run()
-		 */
-		public void run() {
-			fIsShowAddressColumn = !fIsShowAddressColumn;
-			resizeColumnsToPreferredSize();
-			updateActionLabel();
-		}
-
-		/**
-		 * 
-		 */
-		private void updateActionLabel() {
-			if (fIsShowAddressColumn) {
-				setText(DebugUIMessages.ShowAddressColumnAction_0); 
-			} else {
-				setText(DebugUIMessages.ShowAddressColumnAction_1); 
-			}
-		}
-	}
-	
-	
-	private class NextPageAction extends Action
-	{
-		private NextPageAction()
-		{
-			super();
-			setText(DebugUIMessages.AbstractTableRendering_4);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".NextPageAction_context"); //$NON-NLS-1$ 
-		}
-
-		public void run() {
-			BigInteger address = fContentInput.getLoadAddress();
-			address = address.add(BigInteger.valueOf(getPageSizeInUnits()));
-			handlePageStartAddressChanged(address);
-		}
-	}
-	
-	private class PrevPageAction extends Action
-	{
-		private PrevPageAction()
-		{
-			super();
-			setText(DebugUIMessages.AbstractTableRendering_6);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".PrevPageAction_context"); //$NON-NLS-1$
-		}
-
-		public void run() {
-			BigInteger address = fContentInput.getLoadAddress();
-			address = address.subtract(BigInteger.valueOf(getPageSizeInUnits()));
-			handlePageStartAddressChanged(address);
-		}
-	}
-	
-	/**
-	 * Constructs a new table rendering of the specified type.
-	 * 
-	 * @param renderingId memory rendering type identifier
-	 */
-	public AbstractTableRendering(String renderingId) {
-		super(renderingId);
-	}
-	
-	/* (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);		
-			}
-			return;
-		}
-		
-		if (event.getProperty().equals(IDebugUIConstants.PREF_PADDED_STR) ||
-			event.getProperty().equals(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR) ||
-			event.getProperty().equals(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR))
-		{
-			if (!fIsDisposed)
-			{
-				fTableViewer.refresh();
-				fTableCursor.redraw();
-			}
-			return;
-		}
-		
-		Object evtSrc = event.getSource();
-		
-		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE)) {
-			// always update page size, only refresh if the table is visible
-			getPageSizeFromPreference();
-		}
-		
-		// do not handle event if the rendering is displaying an error
-		if (isDisplayingError())
-			return;
-		
-		// do not handle property change event if the rendering is not visible
-		if (!isVisible())
-			return;
-		
-		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM)) {
-			handleDyanicLoadChanged();
-			return;
-		}
-		
-		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE)) {
-			if (!isDynamicLoad())
-			{
-				// only refresh if in non-autoload mode
-				refresh();
-			}
-			return;
-		}
-		
-		if (evtSrc == this)
-			return;
-		
-		if (!(evtSrc instanceof IMemoryRendering))
-			return;
-		
-		IMemoryRendering rendering = (IMemoryRendering)evtSrc;
-		IMemoryBlock memoryBlock = rendering.getMemoryBlock();
-		
-		// do not handle event from renderings displaying other memory blocks
-		if (memoryBlock != getMemoryBlock())
-			return;
-	
-		String propertyName = event.getProperty();
-		Object value = event.getNewValue();
-		
-		if (propertyName.equals(AbstractTableRendering.PROPERTY_SELECTED_ADDRESS) && value instanceof BigInteger)
-		{
-			selectedAddressChanged((BigInteger)value);
-		}
-		else if (propertyName.equals(AbstractTableRendering.PROPERTY_COL_SIZE) && value instanceof Integer)
-		{
-			columnSizeChanged(((Integer)value).intValue());
-		}
-		else if (propertyName.equals(AbstractTableRendering.PROPERTY_ROW_SIZE) && value instanceof Integer)
-		{
-			rowSizeChanged(((Integer)value).intValue());
-		}
-		else if (propertyName.equals(AbstractTableRendering.PROPERTY_TOP_ADDRESS) && value instanceof BigInteger)
-		{
-			if (needMoreLines())
-			{
-				if (isDynamicLoad())
-					reloadTable(getTopVisibleAddress(), false);
-			}
-			topVisibleAddressChanged((BigInteger)value, false);
-		}
-		else if (propertyName.equals(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS) && value instanceof BigInteger)
-		{
-			handlePageStartAddressChanged((BigInteger)value);
-		}
-	}
-
-	private void handleDyanicLoadChanged() {
-		
-		// if currently in dynamic load mode, update page
-		// start address
-		updateSyncPageStartAddress();
-		
-		updateDynamicLoadProperty();
-		if (isDynamicLoad())
-		{
-			refresh();
-		}
-		else
-		{
-			BigInteger pageStart = (BigInteger)getSynchronizedProperty(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS);
-			if (pageStart == null)
-				pageStart = fTopRowAddress;
-			handlePageStartAddressChanged(pageStart);
-		}
-	}
-
-	private void updateDynamicLoadProperty() {
-		
-		boolean value = DebugUIPlugin
-				.getDefault()
-				.getPreferenceStore()
-				.getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
-		
-		if (value != isDynamicLoad())
-		{
-			fContentProvider.setDynamicLoad(value);
-		
-			if (!fIsDisposed) {
-				if (isDynamicLoad()) {
-					fContentInput.setPostBuffer(20);
-					fContentInput.setPreBuffer(20);
-					fContentInput.setDefaultBufferSize(20);
-					fContentInput.setNumLines(getNumberOfVisibleLines());
-	
-				} else {
-					fContentInput.setPostBuffer(0);
-					fContentInput.setPreBuffer(0);
-					fContentInput.setDefaultBufferSize(0);
-					fContentInput.setNumLines(fPageSize);
-				}	
-			}
-		}
-	}
-
-	/**
-	 * Handle top visible address change event from synchronizer
-	 * @param address
-	 */
-	private void topVisibleAddressChanged(final BigInteger address, boolean force)
-	{
-		// do not handle event if rendering is not visible
-		// continue to handle event if caller decides to force the rendering
-		// to move to the top visible address even when the rendering
-		// is not visible
-		if (!isVisible() && !force)
-			return;
-		
-		// do not handle event if the base address of the memory
-		// block has changed, wait for debug event to update to
-		// new location
-		if (isBaseAddressChanged())
-			return;
-	
-		if (!address.equals(fTopRowAddress))
-		{
-			fTopRowAddress = address;
-			updateSyncTopAddress();
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-			
-				handleTopAddressChangedforExtended(address);
-			}
-			else
-			{
-				handleTopAddressChangedForSimple(address);
-			}
-		}
-	}
-
-	/**
-	 * @param address
-	 */
-	private void handleTopAddressChangedForSimple(final BigInteger address) {
-		// IMemoryBlock support
-		int index = findAddressIndex(address);
-		Table table = fTableViewer.getTable();
-		if (index >= 0)
-		{
-			setTopIndex(table,  index);
-		}
-		
-		if (isAddressVisible(fSelectedAddress))
-			fTableCursor.setVisible(true);
-		else
-			fTableCursor.setVisible(false);
-		
-	}
-
-	/**
-	 * @param address
-	 */
-	private void handleTopAddressChangedforExtended(final BigInteger address) {
-		
-		Object evtLockClient = new Object();
-		try 
-		{
-		if (!fEvtHandleLock.acquireLock(evtLockClient))
-			return;
-		
-		if (!isAddressOutOfRange(address))
-		{
-			Table table = fTableViewer.getTable();
-			int index = findAddressIndex(address);
-			if (index >= 3 && table.getItemCount() - (index+getNumberOfVisibleLines()) >= 3)
-			{
-				// update cursor position
-				setTopIndex(table, index);
-			}
-			else
-			{
-				int numInBuffer = table.getItemCount();
-				if (index < 3)
-				{
-					if(isAtTopLimit())
-					{
-						setTopIndex(table, index);
-					}
-					else
-					{
-						if (isDynamicLoad())
-							reloadTable(address, false);
-						else
-							setTopIndex(table, index);
-					}
-				}
-				else if ((numInBuffer-(index+getNumberOfVisibleLines())) < 3)
-				{
-					if (!isAtBottomLimit() && isDynamicLoad())
-						reloadTable(address, false);
-					else
-						setTopIndex(table, index);
-				}
-			}
-		}
-		else
-		{	
-			// approaching limit, reload table
-			reloadTable(address, false);
-		}
-		
-		if (isAddressVisible(fSelectedAddress))
-			fTableCursor.setVisible(true);
-		else
-			fTableCursor.setVisible(false);
-		}
-		finally
-		{
-			fEvtHandleLock.releaseLock(evtLockClient);
-		}
-	}	
-	
-	/**
-	 * @param value
-	 */
-	private void selectedAddressChanged(BigInteger value) {
-		
-		// do not handle event if the base address of the memory
-		// block has changed, wait for debug event to update to
-		// new location
-		if (isBaseAddressChanged())
-			return;
-		
-		try {
-			// do not handle event if the event is out of range and the 
-			// rendering is in non-dynamic-load mode, otherwise, will
-			// cause rendering to continue to scroll when it shouldn't
-			if (isDynamicLoad())
-				goToAddress(value);
-			else if (!isAddressOutOfRange(value))
-				goToAddress(value);
-		} catch (DebugException e) {
-			// do nothing
-		}
-	}
-	
-	private void handlePageStartAddressChanged(BigInteger address)
-	{
-		// do not handle if in dynamic mode
-		if (isDynamicLoad())
-			return;
-		
-		if (fContentInput == null)
-			return;
-		
-		if (!(getMemoryBlock() instanceof IMemoryBlockExtension))
-			return;
-		
-		// do not handle event if the base address of the memory
-		// block has changed, wait for debug event to update to
-		// new location
-		if (isBaseAddressChanged())
-			return;
-		
-		if(fContentProvider.getBufferTopAddress().equals(address))
-			return;
-	
-		BigInteger start = fContentInput.getStartAddress();
-		BigInteger end = fContentInput.getEndAddress();
-		
-		// smaller than start address, load at start address
-		if (address.compareTo(start) < 0)
-		{
-			if (isAtTopLimit())
-				return;
-			
-			address = start;
-		}
-		
-		// bigger than end address, no need to load, alread at top
-		if (address.compareTo(end) > 0)
-		{
-			if (isAtBottomLimit())
-				return;
-			
-			address = end.subtract(BigInteger.valueOf(getPageSizeInUnits()));
-		}
-		
-		fContentInput.setLoadAddress(address);
-		refresh();
-		updateSyncPageStartAddress();
-		setTopIndex(fTableViewer.getTable(), 0);
-		fTopRowAddress = address;
-		updateSyncTopAddress();
-		
-		BigInteger selectedAddress = (BigInteger)getSynchronizedProperty(AbstractTableRendering.PROPERTY_SELECTED_ADDRESS);
-		if (selectedAddress != null)
-		{
-			fSelectedAddress = selectedAddress;
-			if (!isAddressOutOfRange(fSelectedAddress))
-			{
-				setCursorAtAddress(fSelectedAddress);
-				fTableCursor.setVisible(true);
-			}
-			else
-			{
-				fTableCursor.setVisible(false);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createControl(Composite parent) {
-		
-		fPageBook = new PageBook(parent, SWT.NONE);
-		createErrorPage(fPageBook);
-		createTableViewer(fPageBook);
-		
-		fTableViewer.getTable().redraw();
-		createToolTip();
-		
-		return fPageBook;
-	}
-
-	/**
-	 * Create the table viewer and other support controls
-	 * for this rendering.
-	 * 
-	 * @param parent parent composite
-	 */
-	private void createTableViewer(Composite parent) {
-		
-		fTableViewer= new TableViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.HIDE_SELECTION | SWT.BORDER);
-		
-		TableRenderingLabelProvider labelProvider;
-		if (hasCustomizedDecorations())
-			labelProvider = new TableRenderingLabelProviderEx(this);
-		else
-			labelProvider = new TableRenderingLabelProvider(this);
-		
-		fTableViewer.setLabelProvider(labelProvider);
-		
-		fContentProvider = new TableRenderingContentProvider();
-		fContentProvider.setDynamicLoad(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM));
-		
-		fTableViewer.setContentProvider(fContentProvider);		
-		fContentProvider.setViewer(fTableViewer);
-		
-		ScrollBar scroll = ((Table)fTableViewer.getControl()).getVerticalBar();
-		scroll.setMinimum(-100);
-		scroll.setMaximum(200);		
-
-		fTableViewer.getTable().setHeaderVisible(true);
-		fTableViewer.getTable().setLinesVisible(true);
-		
-
-		// set up addressable size and figure out number of bytes required per line
-		fAddressableSize = -1;
-		try {
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-				fAddressableSize = ((IMemoryBlockExtension)getMemoryBlock()).getAddressableSize();
-		} catch (DebugException e1) {
-			// log error and default to 1
-			fAddressableSize = 1;
-			displayError(e1);
-			return;
-			
-		}
-		if (getAddressableSize() < 1)
-			fAddressableSize = 1;
-		
-// set up initial format
-		setupInitialFormat();
-		
-// set up selected address		
-		setupSelectedAddress();
-		
-		// figure out top visible address
-		BigInteger topVisibleAddress = getInitialTopVisibleAddress();
-		
-		getPageSizeFromPreference();
-		
-		if (isDynamicLoad())
-			fContentInput = new TableRenderingContentInput(this, 20, 20, 20, topVisibleAddress, getNumberOfVisibleLines(), false, null);
-		else
-		{
-			BigInteger addressToLoad = topVisibleAddress;
-			
-			// check synchronization service to see if we need to sync with another rendering
-			Object obj = getSynchronizedProperty(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS);
-			if (obj != null && obj instanceof BigInteger)
-			{
-				addressToLoad = (BigInteger)obj;
-			}
-			fContentInput = new TableRenderingContentInput(this, 0, 0, 0, addressToLoad, fPageSize, false, null);
-		}
-		
-		fTableViewer.setInput(fContentInput);
-		
-		// set up cell modifier
-		fCellModifier = new TableRenderingCellModifier(this);
-		fTableViewer.setCellModifier(fCellModifier);
-		
-		// SET UP FONT		
-		// set to a non-proportional font
-		fTableViewer.getTable().setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
-		if (!(getMemoryBlock() instanceof IMemoryBlockExtension))
-		{		
-			// If not extended memory block, do not create any buffer
-			// no scrolling
-			fContentInput.setPreBuffer(0);
-			fContentInput.setPostBuffer(0);
-			fContentInput.setDefaultBufferSize(0);
-		}
-		
-		// set up table cursor
-		createCursor(fTableViewer.getTable(), fSelectedAddress);
-		fTableViewer.getTable().addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent e) {
-				handleTableMouseEvent(e);
-			}});
-		
-		// create pop up menu for the rendering
-		createActions();
-		createPopupMenu(fTableViewer.getControl());
-		createPopupMenu(fTableCursor);
-		getPopupMenuManager().addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				fillContextMenu(manager);
-				manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-			}});
-		
-		// now the rendering is successfully created
-		fIsCreated = true;
-
-		//synchronize
-		addRenderingToSyncService();
-		synchronize();
-		
-		fTopRowAddress = getTopVisibleAddress();
-		// 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.
-		resizeColumnsToPreferredSize();
-		try {
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				if(((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress() == null)
-				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.AbstractTableRendering_1, null)); 
-					displayError(e);				
-				}
-			}
-		} catch (DebugException e1) {
-			displayError(e1);	
-		}
-
-		// add font change listener and update font when the font has been changed
-		JFaceResources.getFontRegistry().addListener(this);
-		fScrollbarSelectionListener = new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent event) {
-				handleScrollBarSelection();
-				
-			}};
-		scroll.addSelectionListener(fScrollbarSelectionListener);
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-	}
-	
-	private boolean validateInitialFormat()
-	{
-		int rowSize = getDefaultRowSize();
-		int columnSize = getDefaultColumnSize();
-		
-		if (rowSize < columnSize || rowSize % columnSize != 0 || rowSize == 0 || columnSize == 0)
-		{
-			return false;
-		}
-		return true;
-	}
-
-	private BigInteger getInitialTopVisibleAddress() {
-		BigInteger topVisibleAddress = (BigInteger) getSynchronizedProperty(AbstractTableRendering.PROPERTY_TOP_ADDRESS);
-		if (topVisibleAddress == null)
-		{
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-				try {
-					topVisibleAddress = ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress();
-				} catch (DebugException e1) {
-					topVisibleAddress = new BigInteger("0"); //$NON-NLS-1$
-				}
-			}
-			else
-			{
-				topVisibleAddress = BigInteger.valueOf(getMemoryBlock().getStartAddress());
-			}
-		}
-		return topVisibleAddress;
-	}
-
-	private void setupSelectedAddress() {
-		// figure out selected address 
-		BigInteger selectedAddress = (BigInteger) getSynchronizedProperty(AbstractTableRendering.PROPERTY_SELECTED_ADDRESS);
-		if (selectedAddress == null)
-		{
-			if (getMemoryBlock() instanceof IMemoryBlockExtension) {
-				try {
-					selectedAddress = ((IMemoryBlockExtension) getMemoryBlock())
-							.getBigBaseAddress();
-				} catch (DebugException e1) {
-					selectedAddress = new BigInteger("0"); //$NON-NLS-1$
-				}
-				if (selectedAddress == null) {
-					selectedAddress = new BigInteger("0"); //$NON-NLS-1$
-				}
-
-			} else {
-				long address = getMemoryBlock().getStartAddress();
-				selectedAddress = BigInteger.valueOf(address);
-			}
-		}
-		setSelectedAddress(selectedAddress);
-	}
-
-	private void setupInitialFormat() {
-		
-		boolean validated = validateInitialFormat();
-		
-		if (!validated)
-		{
-			// pop up dialog to ask user for default values
-			StringBuffer msgBuffer = new StringBuffer(DebugUIMessages.AbstractTableRendering_20);
-			msgBuffer.append(" "); //$NON-NLS-1$
-			msgBuffer.append(this.getLabel());
-			msgBuffer.append("\n\n"); //$NON-NLS-1$
-			msgBuffer.append(DebugUIMessages.AbstractTableRendering_16);
-			msgBuffer.append("\n"); //$NON-NLS-1$
-			msgBuffer.append(DebugUIMessages.AbstractTableRendering_18);
-			msgBuffer.append("\n\n"); //$NON-NLS-1$
-			
-			int bytePerLine = fBytePerLine;
-			int columnSize = fColumnSize;
-			
-			// initialize this value to populate the dialog properly
-			fBytePerLine = getDefaultRowSize() / getAddressableSize();
-			fColumnSize = getDefaultColumnSize() / getAddressableSize();
-
-			FormatTableRenderingDialog dialog = new FormatTableRenderingDialog(this, DebugUIPlugin.getShell());
-			dialog.openError(msgBuffer.toString());
-			
-			// restore to original value before formatting
-			fBytePerLine = bytePerLine;
-			fColumnSize = columnSize;
-			
-			bytePerLine = dialog.getRowSize() * getAddressableSize();
-			columnSize = dialog.getColumnSize() * getAddressableSize();
-			
-			format(bytePerLine, columnSize);
-		}
-		else
-		{
-			// Row size is stored as number of addressable units in preference store
-			int bytePerLine = getDefaultRowSize();
-			// column size is now stored as number of addressable units
-			int columnSize = getDefaultColumnSize();
-			
-			// format memory block with specified "bytesPerLine" and "columnSize"	
-			boolean ok = format(bytePerLine, columnSize);
-			
-			if (!ok)
-			{
-				// this is to ensure that the rest of the rendering can be created
-				// and we can recover from a format error
-				format(bytePerLine, bytePerLine);
-			}
-		}
-	}
-
-	private int getDefaultColumnSize() {
-		
-		// default to global preference store
-		IPreferenceStore prefStore = DebugUITools.getPreferenceStore();
-		int columnSize = prefStore.getInt(IDebugPreferenceConstants.PREF_COLUMN_SIZE);
-		// actual column size is number of addressable units * size of the addressable unit
-		columnSize = columnSize * getAddressableSize();
-		
-		// check synchronized col size
-		Integer colSize = (Integer)getSynchronizedProperty(AbstractTableRendering.PROPERTY_COL_SIZE);
-		if (colSize != null)
-		{
-			// column size is stored as actual number of bytes in synchronizer
-			int syncColSize = colSize.intValue(); 
-			if (syncColSize > 0)
-			{
-				columnSize = syncColSize;
-			}	
-		}
-		else
-		{
-			IPersistableDebugElement elmt = (IPersistableDebugElement)getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-			int defaultColSize = -1;
-			
-			if (elmt != null)
-			{
-				if (elmt.supportsProperty(this, IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL))
-					defaultColSize = getDefaultFromPersistableElement(IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL);
-			}
-			
-			if (defaultColSize <= 0)
-			{
-				// if not provided, get default by model
-				defaultColSize = getDefaultColumnSizeByModel(getMemoryBlock().getModelIdentifier());
-			}
-			
-			if (defaultColSize > 0)
-				columnSize = defaultColSize * getAddressableSize();
-		}
-		return columnSize;
-	}
-
-	private int getDefaultRowSize() {
-		
-		int rowSize = DebugUITools.getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_ROW_SIZE);
-		int bytePerLine = rowSize * getAddressableSize();
-		
-		// check synchronized row size
-		Integer size = (Integer)getSynchronizedProperty(AbstractTableRendering.PROPERTY_ROW_SIZE);
-		if (size != null)
-		{
-			// row size is stored as actual number of bytes in synchronizer
-			int syncRowSize = size.intValue(); 
-			if (syncRowSize > 0)
-			{
-				bytePerLine = syncRowSize;
-			}	
-		}
-		else
-		{
-			int defaultRowSize = -1;
-			IPersistableDebugElement elmt = (IPersistableDebugElement)getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-			if (elmt != null)
-			{
-				if (elmt.supportsProperty(this, IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL))
-				{
-					defaultRowSize = getDefaultFromPersistableElement(IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL);
-					return defaultRowSize * getAddressableSize();
-				}
-			}
-			
-			if (defaultRowSize <= 0)
-				// no synchronized property, ask preference store by id
-				defaultRowSize = getDefaultRowSizeByModel(getMemoryBlock().getModelIdentifier());
-			
-			if (defaultRowSize > 0)
-				bytePerLine = defaultRowSize * getAddressableSize();
-		}
-		return bytePerLine;
-	}
-
-	private int getDefaultFromPersistableElement(String propertyId) {
-		int defaultValue = -1;
-		IPersistableDebugElement elmt = (IPersistableDebugElement)getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-		if (elmt != null)
-		{
-			try {
-				Object valueMB = elmt.getProperty(this, propertyId);
-				if (valueMB != null && !(valueMB instanceof Integer))
-				{
-					IStatus status = DebugUIPlugin.newErrorStatus("Model returned invalid type on " + propertyId, null); //$NON-NLS-1$
-					DebugUIPlugin.log(status);
-				}
-				
-				if (valueMB != null)
-				{
-					Integer value = (Integer)valueMB;
-					defaultValue = value.intValue();
-				}
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return defaultValue;
-	}
-	
-	private void getPageSizeFromPreference()
-	{
-		fPageSize = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE);
-	}
-	
-	private void createCursor(Table table, BigInteger address)
-	{
-		fTableCursor = new TableCursor(table, 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));
-		
-		fTableCursor.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
-		fTableCursor.setVisible(true);
-		
-		fCursorKeyAdapter = new KeyAdapter() {
-			public void keyPressed(KeyEvent e)
-			 {
-			 	handleCursorKeyPressed(e);
-			 }	
-		};
-		fTableCursor.addKeyListener(fCursorKeyAdapter);
-		
-		fCursorTraverseListener = new TraverseListener() {
-			public void keyTraversed(TraverseEvent e) {
-				handleCursorTraverseEvt(e);
-			}};
-					
-		fTableCursor.addTraverseListener(fCursorTraverseListener);
-		
-		fCursorMouseListener = new MouseAdapter() {
-			public void mouseDown(MouseEvent e) {
-				handleCursorMouseEvent(e);
-			}};
-		fTableCursor.addMouseListener(fCursorMouseListener);
-		
-		// cursor may be disposed before disposed is called
-		// remove listeners whenever the cursor is disposed
-		fTableCursor.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if (fTableCursor == null)
-					return;
-				fTableCursor.removeTraverseListener(fCursorTraverseListener);
-				fTableCursor.removeKeyListener(fCursorKeyAdapter);
-				fTableCursor.removeMouseListener(fCursorMouseListener);
-				fTableCursor.removeSelectionListener(fCursorSelectionListener);
-			}});
-		
-		fCursorSelectionListener = new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						
-						if (!fEvtHandleLock.acquireLock(this))
-							return;
-	
-						handleCursorMoved();
-						
-						fEvtHandleLock.releaseLock(this);
-
-					}
-				};
-		fTableCursor.addSelectionListener(fCursorSelectionListener);
-		
-		
-		setCursorAtAddress(address);
-		
-		fCursorEditor = new TableEditor (fTableViewer.getTable());	
-	}
-	
-	private void handleCursorTraverseEvt(TraverseEvent e){
-		
-		if (fTableCursor.getRow() == null)
-			return;
-		
-		Table table = (Table)fTableCursor.getParent();
-		int row = table.indexOf(fTableCursor.getRow());
-		int col = fTableCursor.getColumn();
-		if (col == getNumCol() && e.keyCode == SWT.ARROW_RIGHT)
-		{
-			if (row + 1>= table.getItemCount())
-			{
-				return;
-			}
-			
-			row = row +1;
-			col = 0;
-			fTableCursor.setSelection(row, col);
-		}
-		if (col <= 1 && e.keyCode == SWT.ARROW_LEFT)
-		{
-			if (row-1 < 0)
-			{
-				return;
-			}
-			
-			row = row - 1;
-			col = getNumCol()+1;
-			fTableCursor.setSelection(row, col);
-		}			
-		
-		Object evtLockClient = new Object();
-		if (!fEvtHandleLock.acquireLock(evtLockClient))
-			return;
-		
-		handleCursorMoved();
-		
-		fEvtHandleLock.releaseLock(evtLockClient);
-
-	}
-	
-	/**
-	 * Update selected address.
-	 * Load more memory if required.
-	 */
-	private void handleCursorMoved()
-	{	
-		if (fIsDisposed)
-			return;
-		
-		BigInteger selectedAddress = getSelectedAddressFromCursor(fTableCursor);
-		
-		// when the cursor is moved, the selected address is changed
-		if (selectedAddress != null && !selectedAddress.equals(fSelectedAddress))
-		{
-			setSelectedAddress(selectedAddress);
-			updateSyncSelectedAddress();
-		}
-		
-		// now check to see if the cursor is approaching buffer limit
-		TableItem item = fTableCursor.getRow();
-		if (item == null)
-			return;
-		
-		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-		{
-			int row = fTableViewer.getTable().indexOf(item);
-			
-			if (row < 3)
-			{
-				if (!isAtTopLimit())
-				{
-					if (isDynamicLoad())
-					{
-						refresh();
-						setCursorAtAddress(fSelectedAddress);
-					}
-				}
-			}
-			else if (row >= fTableViewer.getTable().getItemCount() - 3)
-			{
-				if (!isAtBottomLimit())
-				{
-					if (isDynamicLoad())
-					{
-						refresh();
-						setCursorAtAddress(fSelectedAddress);
-					}
-				}
-			}
-		}
-		
-		// if the cursor has moved, the top index of the table may change
-		// just update the synchronization service
-		BigInteger address = getTopVisibleAddress();
-		if (!address.equals(fTopRowAddress))
-		{
-			fTopRowAddress = address;
-			updateSyncTopAddress();
-		}
-	}
-	
-	private void handleCursorKeyPressed(KeyEvent event)
-	{
-		// allow edit if user hits return
-		if (event.character == '\r' && event.getSource() instanceof TableCursor)
-		{
-			activateCellEditor(null);
-			return;
-		}		
-		
-		if (MemoryViewUtil.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);
-				activateCellEditor(initialValue);
-				return;
-			}
-		}
-	}
-	
-	/**
-	 * Calculate selected address based on cursor's current position
-	 * @param cursor
-	 * @return the selected address
-	 */
-	private BigInteger getSelectedAddressFromCursor(TableCursor cursor)
-	{
-		TableItem row = cursor.getRow();
-		int col = cursor.getColumn();
-		
-		return getAddressFromTableItem(row, col);
-	}
-
-	private BigInteger getAddressFromTableItem(TableItem row, int col) {
-		if (row == null)
-			return null;
-		
-		// get row address
-		String temp = ((TableRenderingLine)row.getData()).getAddress();
-		BigInteger rowAddress = new BigInteger(temp, 16);
-		
-		int offset;
-		if (col > 0)
-		{	
-			// 	get address offset
-			int addressableUnit = getAddressableUnitPerColumn();
-			offset = (col-1) * addressableUnit;
-		}
-		else
-		{
-			offset = 0;
-		}
-		
-		return rowAddress.add(BigInteger.valueOf(offset));
-	}
-	
-	
-	/**
-	 * Sets the cursor at the specified address
-	 * @param address
-	 * @return true if successful, false otherwise
-	 */
-	private boolean setCursorAtAddress(BigInteger address)
-	{
-		// selected address is out of range, simply return false
-		if (address.compareTo(fContentProvider.getBufferTopAddress()) < 0)
-			return false;
-		
-		// calculate selected row address
-		int addressableUnit = getAddressableUnitPerLine();
-		int numOfRows = address.subtract(fContentProvider.getBufferTopAddress()).intValue()/addressableUnit;
-		BigInteger rowAddress = fContentProvider.getBufferTopAddress().add(BigInteger.valueOf(numOfRows * addressableUnit));
-
-		// try to find the row of the selected address
-		int row = findAddressIndex(address);
-			
-		if (row == -1)
-		{
-			return false;
-		}
-		
-		// calculate offset to the row address
-		BigInteger offset = address.subtract(rowAddress);
-		
-		// locate column
-		int colAddressableUnit = getAddressableUnitPerColumn();
-		int col = ((offset.intValue()/colAddressableUnit)+1);
-		
-		if (col == 0)
-			col = 1;
-		
-		fTableCursor.setSelection(row, col);
-		
-		return true;		
-	}
-	
-	
-	/**
-	 * Format view tab based on the bytes per line and column.
-	 * 
-	 * @param bytesPerLine - number of bytes per line, possible values: (1 / 2 / 4 / 8 / 16) * addressableSize
-	 * @param columnSize - number of bytes per column, possible values: (1 / 2 / 4 / 8 / 16) * addressableSize
-	 * @return true if format is successful, false, otherwise
-	 */
-	public boolean format(int bytesPerLine, int columnSize)
-	{	
-		
-		// selected address gets changed as the cursor is moved
-		// during the reformat.
-		// Back up the address and restore it later.
-		BigInteger selectedAddress = fSelectedAddress;
-		
-		// bytes per cell must be divisible to bytesPerLine
-		if (bytesPerLine % columnSize != 0)
-		{
-			return false;
-		}
-		
-		if (bytesPerLine < columnSize)
-		{
-			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;
-		
-		Object evtLockClient = new Object();
-		if (!fEvtHandleLock.acquireLock(evtLockClient))
-			return false;
-		
-		// if the tab is already created and is being reformated
-		if (fIsCreated)
-		{	
-			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.AbstractTableRendering_2); 
-		
-		// create new byte columns
-		TableColumn [] byteColumns = new TableColumn[bytesPerLine/columnSize];		
-		
-		String[] columnLabels = new String[0];
-		IMemoryBlockTablePresentation presentation = getTablePresentationAdapter();
-		if (presentation != null)
-		{
-			columnLabels = presentation.getColumnLabels(getMemoryBlock(), bytesPerLine, getNumCol());
-		}
-		
-		// check that column labels are not null
-		if (columnLabels == null)
-			columnLabels = new String[0];
-		
-		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
-				int addressableUnit = columnSize/getAddressableSize();
-				if (getAddressableUnitPerColumn() >= 4)
-				{
-					column.setText(Integer.toHexString(i*addressableUnit).toUpperCase() + 
-						" - " + Integer.toHexString(i*addressableUnit+addressableUnit-1).toUpperCase()); //$NON-NLS-1$
-				}
-				else
-				{
-					column.setText(Integer.toHexString(i*addressableUnit).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] = TableRenderingLine.P_ADDRESS;
-		
-		int addressableUnit = columnSize / getAddressableSize();
-
-		// use column beginning offset to the row address as properties
-		for (int i=1; i<columnProperties.length-1; i++)
-		{
-			// column properties are stored as number of addressable units from the
-			// the line address
-			columnProperties[i] = Integer.toHexString((i-1)*addressableUnit);
-		}
-		
-		// Empty column for cursor navigation
-		columnProperties[columnProperties.length-1] = " "; //$NON-NLS-1$
-		
-		fTableViewer.setColumnProperties(columnProperties);		
-		
-		
-		Table table = fTableViewer.getTable();
-		fEditors = new CellEditor[table.getColumnCount()];
-		for (int i=0; i<fEditors.length; i++)
-		{
-			fEditors[i] = new TextCellEditor(table);
-		}
-		
-		// create and set cell editors
-		fTableViewer.setCellEditors(fEditors);	
-		
-		if (fIsCreated)
-		{
-			fTableViewer.refresh();
-		}		
-		
-		resizeColumnsToPreferredSize();
-		updateSyncRowSize();
-		updateSyncColSize();
-		
-		if (fIsCreated)
-		{
-			// for Linux GTK, this must happen after table viewer is refreshed
-			int i = findAddressIndex(fTopRowAddress);
-			
-			if (i >= 0)
-				setTopIndex(fTableViewer.getTable(), i);
-			
-			if (isAddressVisible(selectedAddress))
-				// after refresh, make sure the cursor is at the correct position
-				setCursorAtAddress(selectedAddress);			
-		}
-		
-		fEvtHandleLock.releaseLock(evtLockClient);
-		
-		return true;
-	}
-	
-	/**
-	 * Create the error page for this rendering.
-	 * The error page is used to report any error resulted from
-	 * getting memory from a memory block.
-	 * @param parent
-	 */
-	private void createErrorPage(Composite parent)
-	{
-		if (fTextViewer == null)
-		{
-			fTextViewer = new TextViewer(parent, SWT.WRAP);	
-			fTextViewer.setDocument(new Document());
-			StyledText styleText = fTextViewer.getTextWidget();
-			styleText.setEditable(false);
-			styleText.setEnabled(false);
-		}
-	}
-	
-	/**
-	 * Displays the content of the table viewer.
-	 */
-	public void displayTable()
-	{
-		fIsShowingErrorPage = false;
-		fPageBook.showPage(fTableViewer.getControl());
-	}
-	
-	/**
-	 * Displays an error message for the given exception.
-	 * 
-	 * @param e exception to display 
-	 */
-	public void displayError(DebugException e)
-	{
-		StyledText styleText = null;
-		fIsShowingErrorPage = true;
-
-		styleText = fTextViewer.getTextWidget();
-		
-		if (styleText != null)
-			styleText.setText(DebugUIMessages.AbstractTableRendering_3 + e.getMessage());
-		fPageBook.showPage(fTextViewer.getControl());
-		
-		// clear content cache if we need to display error
-		fContentProvider.clearContentCache();
-	}
-	
-	/**
-	 * Returns whether the error page is displayed.
-	 * 
-	 * @return whether the error page is displayed
-	 */
-	public boolean isDisplayingError()
-	{	
-		return fIsShowingErrorPage;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#getControl()
-	 */
-	public Control getControl() {
-		return fPageBook;
-	}
-	
-	/**
-	 * Returns the addressible size of this rendering's memory block in bytes.
-	 * 
-	 * @return the addressible size of this rendering's memory block in bytes
-	 */
-	public int getAddressableSize() {
-		return fAddressableSize;
-	}
-	
-	private Object getSynchronizedProperty(String propertyId)
-	{
-		IMemoryRenderingSynchronizationService syncService = getMemoryRenderingContainer().getMemoryRenderingSite().getSynchronizationService();
-		
-		if (syncService == null)
-			return null;
-		
-		return syncService.getProperty(getMemoryBlock(), propertyId);	
-	}
-	
-	/**
-	 * This method estimates the number of visible lines in the rendering
-	 * table.  
-	 * @return estimated number of visible lines in the table
-	 */
-	private 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 = getMinTableItemHeight(table);
-		
-		int numberOfLines = height/lineHeight;
-		
-		if (numberOfLines <= 0)
-			return 20;
-	
-		return numberOfLines;		
-	}
-	
-	private static void  setTopIndex(Table table, int index)
-	{
-		table.setTopIndex(index);
-	}
-
-	private void addRenderingToSyncService()
-	{	
-		IMemoryRenderingSynchronizationService syncService = getMemoryRenderingContainer().getMemoryRenderingSite().getSynchronizationService();
-		
-		if (syncService == null)
-			return;
-		
-		syncService.addPropertyChangeListener(this, null);
-	
-		// we could be in a format error even though the error is not yet displayed
-		// do not update sync property in this case
-		if (!isDisplayingError())
-		{
-			if (syncService.getSynchronizationProvider() == null)
-				syncService.setSynchronizationProvider(this);
-			
-			// check if there is already synchronization info available
-			Object selectedAddress =getSynchronizedProperty( AbstractTableRendering.PROPERTY_SELECTED_ADDRESS);
-			Object rowSize = getSynchronizedProperty(AbstractTableRendering.PROPERTY_ROW_SIZE);
-			Object colSize =getSynchronizedProperty( AbstractTableRendering.PROPERTY_COL_SIZE);
-			Object topAddress =getSynchronizedProperty( AbstractTableRendering.PROPERTY_TOP_ADDRESS);
-			
-			if (!isDynamicLoad())
-			{
-				Object pageStartAddress = getSynchronizedProperty(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS);
-				if (pageStartAddress == null)
-					updateSyncPageStartAddress();
-			}
-			
-			// 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();
-			}
-			
-			if (rowSize == null)
-			{
-				updateSyncRowSize();
-			}
-
-			if (colSize == null) {
-				updateSyncColSize();
-			}
-			if (topAddress == null) {
-				updateSyncTopAddress();
-			}
-		}
-	}
-	
-	/**
-	 * Get properties from synchronizer and synchronize settings
-	 */
-	private void synchronize()
-	{			
-		if (!isDynamicLoad())
-		{
-			BigInteger pageStart = (BigInteger)getSynchronizedProperty(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS);
-			if (pageStart != null && fContentInput != null && fContentInput.getLoadAddress() != null)
-			{
-				if (!fContentInput.getLoadAddress().equals(pageStart))
-					handlePageStartAddressChanged(pageStart);
-			}
-			else if (pageStart != null)
-			{
-				handlePageStartAddressChanged(pageStart);
-			}
-		}
-		
-		Integer rowSize = (Integer) getSynchronizedProperty(AbstractTableRendering.PROPERTY_ROW_SIZE);
-		Integer columnSize = (Integer) getSynchronizedProperty(AbstractTableRendering.PROPERTY_COL_SIZE);
-		BigInteger selectedAddress = (BigInteger)getSynchronizedProperty(AbstractTableRendering.PROPERTY_SELECTED_ADDRESS);
-		BigInteger topAddress = (BigInteger)getSynchronizedProperty(AbstractTableRendering.PROPERTY_TOP_ADDRESS);
-		
-		if (rowSize != null)
-		{
-			int rSize = rowSize.intValue();
-			if (rSize > 0 && rSize != fBytePerLine) {
-				rowSizeChanged(rSize);
-			}
-		}
-		
-		if (columnSize != null) {
-			int colSize = columnSize.intValue();
-			if (colSize > 0 && colSize != fColumnSize) {
-				columnSizeChanged(colSize);
-			}
-		}
-		if (topAddress != null) {
-			if (!topAddress.equals(getTopVisibleAddress())) {
-				if (selectedAddress != null) {
-					if (!fSelectedAddress.equals(selectedAddress)) {
-						selectedAddressChanged(selectedAddress);
-					}
-				}
-				topVisibleAddressChanged(topAddress, false);
-			}
-		}
-		if (selectedAddress != null) {
-			if (selectedAddress.compareTo(fSelectedAddress) != 0) {
-				selectedAddressChanged(selectedAddress);
-			}
-		}
-	}
-	
-	/**
-	 * Resize column to the preferred size.
-	 */
-	public void resizeColumnsToPreferredSize() {
-		// pack columns
-		Table table = fTableViewer.getTable();
-		TableColumn[] columns = table.getColumns();
-		
-		for (int i=0 ;i<columns.length-1; i++)
-		{	
-			columns[i].pack();
-		}
-		
-		if (!fIsShowAddressColumn)
-		{
-			columns[0].setWidth(0);
-		}
-	}
-	
-	/**
-	 * update selected address in synchronizer if update is true.
-	 */
-	private void updateSyncSelectedAddress() {
-		
-		if (!fIsCreated)
-			return;
-		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractTableRendering.PROPERTY_SELECTED_ADDRESS, null, fSelectedAddress);
-		firePropertyChangedEvent(event);
-	}
-
-	/**
-	 * update column size in synchronizer
-	 */
-	private void updateSyncColSize() {
-		
-		if (!fIsCreated)
-			return;
-		
-		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractTableRendering.PROPERTY_COL_SIZE, null, new Integer(fColumnSize));
-		firePropertyChangedEvent(event);
-	}
-	
-	/**
-	 * update column size in synchronizer
-	 */
-	private void updateSyncRowSize() {
-		
-		if (!fIsCreated)
-			return;
-		
-		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractTableRendering.PROPERTY_ROW_SIZE, null, new Integer(fBytePerLine));
-		firePropertyChangedEvent(event);
-	}
-	
-	/**
-	 * update top visible address in synchronizer
-	 */
-	private void updateSyncTopAddress() {
-		
-		if (!fIsCreated)
-			return;
-
-		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractTableRendering.PROPERTY_TOP_ADDRESS, null, fTopRowAddress);
-		firePropertyChangedEvent(event);
-	}
-	
-	private void updateSyncPageStartAddress() {
-	
-		if (!fIsCreated)
-			return;
-		
-		if (isBaseAddressChanged())
-			return;
-		
-		BigInteger pageStart;
-		if (isDynamicLoad())
-		{
-			// if dynamic loading, the page address should be the top
-			// row address
-			pageStart = fTopRowAddress;
-		}
-		else
-		{
-			// otherwise, the address is the buffer's start address
-			pageStart = fContentProvider.getBufferTopAddress();
-		}
-		
-		PropertyChangeEvent event = new PropertyChangeEvent(this, IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS, null, pageStart);
-		firePropertyChangedEvent(event);
-	}
-	
-	/**
-	 * Fills the context menu for this rendering
-	 * 
-	 * @param menu menu to fill
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-	
-		menu.add(new Separator("topMenu")); //$NON-NLS-1$
-		menu.add(fResetMemoryBlockAction);
-		menu.add(fGoToAddressAction);
-	
-		menu.add(new Separator());
-		
-		menu.add(fFormatRenderingAction);
-
-		if (!isDynamicLoad() && getMemoryBlock() instanceof IMemoryBlockExtension)
-		{		
-			menu.add(new Separator());
-			menu.add(fPrevAction);
-			menu.add(fNextAction);
-		}
-		
-		menu.add(new Separator());
-		menu.add(fReformatAction);
-		menu.add(fToggleAddressColumnAction);
-		menu.add(new Separator());
-		menu.add(fCopyToClipboardAction);
-		menu.add(fPrintViewTabAction);
-		if (fPropertiesAction != null)
-		{
-			menu.add(new Separator());
-			menu.add(fPropertiesAction);
-		}
-		
-	}
-	
-	/**
-	 * Returns the number of addressable units per row.
-	 *  
-	 * @return number of addressable units per row
-	 */
-	public int getAddressableUnitPerLine() {
-		return fBytePerLine / getAddressableSize();
-	}
-	
-	/**
-	 * Returns the number of addressable units per column.
-	 * 
-	 * @return number of addressable units per column
-	 */
-	public int getAddressableUnitPerColumn() {
-		return fColumnSize / getAddressableSize();
-	}
-	
-	/**
-	 * Returns the number of bytes displayed in a single column cell.
-	 * 
-	 * @return the number of bytes displayed in a single column cell
-	 */
-	public int getBytesPerColumn()
-	{
-		return fColumnSize;
-	}
-
-	/**
-	 * Returns the number of bytes displayed in a row.
-	 * 
-	 * @return the number of bytes displayed in a row
-	 */
-	public int getBytesPerLine()
-	{		
-		return fBytePerLine;
-	}
-	
-	/**
-	 * Updates labels of this rendering.
-	 */
-	public void updateLabels()
-	{
-		// update tab labels
-		updateRenderingLabel(true);
-		
-		if (fTableViewer != null)
-		{
-			// update column labels
-			setColumnHeadings();
-			fTableViewer.refresh();
-		}
-	}
-	
-
-	/* Returns the label of this rendering.
-	 * 
-	 * @return label of this rendering
-	 */
-	public String getLabel() {
-		if (fLabel == null)
-			fLabel = buildLabel(true);
-		
-		return fLabel;
-	}
-
-	
-	/**
-	 * Updates the label of this rendering, optionally displaying the
-	 * base address of this rendering's memory block.
-	 * 
-	 * @param showAddress whether to display the base address of this
-	 *  rendering's memory block in this rendering's label
-	 */
-	protected void updateRenderingLabel(boolean showAddress)
-	{	
-		fLabel = buildLabel(showAddress);
-		firePropertyChangedEvent(new PropertyChangeEvent(this, IBasicPropertyConstants.P_TEXT, null, fLabel));
-	}
-
-	private String buildLabel(boolean showAddress) {
-		String label = ""; //$NON-NLS-1$
-		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-		{
-			label = ((IMemoryBlockExtension)getMemoryBlock()).getExpression();
-			
-			if (label.startsWith("&")) //$NON-NLS-1$
-				label = "&" + label; //$NON-NLS-1$
-			
-			if (label == null)
-			{
-				label = DebugUIMessages.AbstractTableRendering_8; 
-			}
-			
-			try {
-				if (showAddress && ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress() != null)
-				{	
-					label += " : 0x"; //$NON-NLS-1$
-					label += ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress().toString(16).toUpperCase();
-				}
-			} catch (DebugException e) {
-				// do nothing, the label will not show the address
-			}
-		}
-		else
-		{
-			long address = getMemoryBlock().getStartAddress();
-			label = Long.toHexString(address).toUpperCase();
-		}
-		
-		String preName = DebugUITools.getMemoryRenderingManager().getRenderingType(getRenderingId()).getLabel();
-		
-		if (preName != null)
-			label += " <" + preName + ">"; //$NON-NLS-1$ //$NON-NLS-2$
-		
-		return decorateLabel(label);
-	}
-	
-	private void setColumnHeadings()
-	{
-		String[] columnLabels = new String[0];
-		
-		IMemoryBlockTablePresentation presentation = getTablePresentationAdapter();
-		if (presentation != null)
-		{
-			columnLabels = presentation.getColumnLabels(getMemoryBlock(), fBytePerLine, getNumCol());
-		}
-		
-		// check that column labels returned are not null
-		if (columnLabels == null)
-			columnLabels = new String[0];
-		
-		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(j*fColumnSize).toUpperCase() + 
-							" - " + Integer.toHexString(j*fColumnSize+fColumnSize-1).toUpperCase()); //$NON-NLS-1$
-				}
-				else
-				{
-					columns[i].setText(Integer.toHexString(j*fColumnSize).toUpperCase());
-				}
-				j++;
-			}
-		}
-	}
-	
-	/**
-	 * Refresh the table viewer with the current top visible address.
-	 * Update labels in the memory rendering.
-	 */
-	public void refresh()
-	{	
-		// refresh at start address of this memory block
-		// address may change if expression is evaluated to a different value
-		IMemoryBlock mem = getMemoryBlock();
-		BigInteger address;
-		
-		if (mem instanceof IMemoryBlockExtension)
-		{
-			try {
-				address = ((IMemoryBlockExtension)mem).getBigBaseAddress();
-				if (address == null)
-				{	
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.AbstractTableRendering_10, null)); 
-					displayError(e);
-					return;
-				}
-				updateRenderingLabel(true);
-				// base address has changed
-				if (address.compareTo(fContentProvider.getContentBaseAddress()) != 0)
-				{
-					// get to new address
-					setSelectedAddress(address);
-					updateSyncSelectedAddress();
-					
-					reloadTable(address, true);
-					
-					if (!isDynamicLoad())
-					{
-						updateSyncPageStartAddress();
-						setTopIndex(fTableViewer.getTable(), 0);
-					}
-					
-					fTopRowAddress = getTopVisibleAddress();
-					updateSyncTopAddress();
-					
-					fContentInput.updateContentBaseAddress();
-				}
-				else
-				{
-					// reload at top of table
-					if (isDynamicLoad())
-						address = getTopVisibleAddress();
-					else
-						address = fContentInput.getLoadAddress();
-					reloadTable(address, true);
-				}
-			} catch (DebugException e) {
-				displayError(e);
-				return;
-			}				
-		}
-		else
-		{
-			address = BigInteger.valueOf(mem.getStartAddress());
-			reloadTable(address, true);
-		}
-	}
-	
-	synchronized private void reloadTable(BigInteger topAddress, boolean updateDelta){
-		
-		if (fTableViewer == null)
-			return;
-		
-		try
-		{
-			Table table = (Table)fTableViewer.getControl();	
-			
-			TableRenderingContentInput input;
-			if (isDynamicLoad())
-				input = new TableRenderingContentInput(this, fContentInput.getPreBuffer(), fContentInput.getPostBuffer(), fContentInput.getDefaultBufferSize(), topAddress, getNumberOfVisibleLines(), updateDelta, null);
-			else
-				input = new TableRenderingContentInput(this, fContentInput.getPreBuffer(), fContentInput.getPostBuffer(), fContentInput.getDefaultBufferSize(), topAddress, fPageSize, updateDelta, null);
-			
-			fContentInput = input;
-			fTableViewer.setInput(fContentInput);
-	
-			if (isDynamicLoad())
-			{
-				if (getMemoryBlock() instanceof IMemoryBlockExtension)
-				{
-					int topIdx = findAddressIndex(topAddress);
-					
-					if (topIdx != -1)
-					{
-						setTopIndex(table, topIdx);
-					}
-				}
-				
-				// cursor needs to be refreshed after reload
-				if (isAddressVisible(fSelectedAddress))
-					setCursorAtAddress(fSelectedAddress);
-			}
-			else
-			{
-				if (!isAddressOutOfRange(fSelectedAddress))
-				{
-					setCursorAtAddress(fSelectedAddress);
-					fTableCursor.setVisible(true);
-				}
-				else
-				{
-					fTableCursor.setVisible(false);
-				}
-			}
-		}
-		finally
-		{
-		}
-	}
-	
-	private BigInteger getTopVisibleAddress() {
-		
-		if (fTableViewer == null)
-			return BigInteger.valueOf(0);
-
-		Table table = fTableViewer.getTable();
-		int topIndex = getTopVisibleIndex(table);
-
-		if (topIndex < 1) { topIndex = 0; }
-
-		if (table.getItemCount() > topIndex) 
-		{
-			TableRenderingLine topItem = (TableRenderingLine)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;
-		}
-		return BigInteger.valueOf(0);
-	}
-	
-	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)
-			{	
-				TableRenderingLine line = (TableRenderingLine)items[i].getData();
-				BigInteger lineAddress = new BigInteger(line.getAddress(), 16);
-				int addressableUnit = getAddressableUnitPerLine();
-				BigInteger endLineAddress = lineAddress.add(BigInteger.valueOf(addressableUnit));
-				
-				if (lineAddress.compareTo(address) <= 0 && endLineAddress.compareTo(address) > 0)
-				{	
-					return i;
-				}
-			}
-		}
-		
-		return -1;
-	}
-	
-	private static int getTopVisibleIndex(Table table)
-	{
-		int index = table.getTopIndex();
-		
-		TableItem item = table.getItem(index);
-		int cnt = table.getItemCount();
-		
-		while (item.getBounds(0).y < 0)
-		{
-			index++;
-			if (index >= cnt)
-			{
-				index--;
-				break;
-			}
-			item = table.getItem(index);
-		}
-		
-		return index;
-	}
-	
-	/**
-	 * Returns this rendering's table viewer.
-	 */
-	public TableViewer getTableViewer()
-	{
-		return fTableViewer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#dispose()
-	 */
-	public void dispose() {
-		try {	
-			// prevent rendering from being disposed again
-			if (fIsDisposed)
-				return;
-			
-			fIsDisposed = true;
-			
-			if (fContentProvider != null)
-				fContentProvider.dispose();
-			
-			ScrollBar scroll = ((Table)fTableViewer.getControl()).getVerticalBar();
-			if (scroll != null && !scroll.isDisposed())
-				scroll.removeSelectionListener(fScrollbarSelectionListener);
-			
-			if (!fTableCursor.isDisposed())
-			{
-				fTableCursor.removeTraverseListener(fCursorTraverseListener);
-				fTableCursor.removeKeyListener(fCursorKeyAdapter);
-				fTableCursor.removeMouseListener(fCursorMouseListener);
-			}
-			
-			fCursorEditor.dispose();
-			
-			fTextViewer = null;
-			fTableViewer = null;
-			fTableCursor = 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(this);
-			
-			// remove the view tab from the synchronizer
-			IMemoryRenderingSynchronizationService syncService = getMemoryRenderingContainer().getMemoryRenderingSite().getSynchronizationService();
-			if (syncService != null)
-				syncService.removePropertyChangeListener(this);
-			
-			DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-			
-			fToolTipShell.dispose();
-			
-			super.dispose();
-
-		} catch (Exception e) {}
-	}
-	
-	private int getNumCol() {
-		
-		int bytesPerLine = getBytesPerLine();
-		int columnSize = getBytesPerColumn();
-		
-		return bytesPerLine/columnSize;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#setFont(org.eclipse.swt.graphics.Font)
-	 */
-	private void setFont(Font font)
-	{	
-		int oldIdx = getTopVisibleIndex(fTableViewer.getTable());
-		
-		// BUG in table, if font is changed when table is not starting
-		// from the top, causes table gridline to be misaligned.
-		setTopIndex(fTableViewer.getTable(),  0);
-		
-		// set font
-		fTableViewer.getTable().setFont(font);
-		fTableCursor.setFont(font);
-		
-		setTopIndex(fTableViewer.getTable(),  oldIdx);
-		
-		resizeColumnsToPreferredSize();
-		
-		// update table cursor and force redraw
-		setCursorAtAddress(fSelectedAddress);
-	}
-	
-	
-	/**
-	 * Moves the cursor to the specified address.
-	 * Will load more memory if the address is not currently visible.
-	 * 
-	 * @param address address to position cursor at
-	 * @throws DebugException if an exception occurrs
-	 */
-	public void goToAddress(BigInteger address) throws DebugException {
-		Object evtLockClient = new Object();
-		try
-		{	
-			if (!fEvtHandleLock.acquireLock(evtLockClient))
-				return;
-
-			// if address is within the range, highlight			
-			if (!isAddressOutOfRange(address))
-			{
-				setSelectedAddress(address);
-				updateSyncSelectedAddress();
-				setCursorAtAddress(fSelectedAddress);
-				
-				// force the cursor to be shown
-				if (!isAddressVisible(fSelectedAddress))
-				{	
-					int i = findAddressIndex(fSelectedAddress);
-					fTableViewer.getTable().showItem(fTableViewer.getTable().getItem(i));
-				}
-			}
-			else
-			{
-				// if not extended memory block
-				// do not allow user to go to an address that's out of range
-				if (!(getMemoryBlock() instanceof IMemoryBlockExtension))
-				{
-					Status stat = new Status(
-					 IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(),
-					 DebugException.NOT_SUPPORTED, DebugUIMessages.AbstractTableRendering_11, null  
-					);
-					DebugException e = new DebugException(stat);
-					throw e;
-				}
-
-				BigInteger startAdd = fContentInput.getStartAddress();
-				BigInteger endAdd = fContentInput.getEndAddress();
-				
-				if (address.compareTo(startAdd) < 0 ||
-					address.compareTo(endAdd) > 0)
-				{
-					Status stat = new Status(
-					 IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(),
-					 DebugException.NOT_SUPPORTED, DebugUIMessages.AbstractTableRendering_11, null  
-					);
-					DebugException e = new DebugException(stat);
-					throw e;
-				}
-				
-				setSelectedAddress(address);
-				updateSyncSelectedAddress();
-				
-				reloadTable(address, false);
-				
-				if (!isDynamicLoad())
-				{						
-					updateSyncPageStartAddress();
-				}
-				
-				// if the table is reloaded, the top address is chagned in this case
-				fTopRowAddress = address;
-				updateSyncTopAddress();
-				
-				// set the cursor at the selected address after reload
-				setCursorAtAddress(address);
-			}
-			fTableCursor.setVisible(true);
-		}
-		catch (DebugException e)
-		{
-			throw e;
-		}
-		finally
-		{
-			fEvtHandleLock.releaseLock(evtLockClient);
-		}
-	}
-	
-	/**
-	 * Check if address provided is out of buffered range
-	 * @param address
-	 * @return if address is out of bufferred range
-	 */
-	private boolean isAddressOutOfRange(BigInteger address)
-	{
-		return fContentProvider.isAddressOutOfRange(address);
-	}
-	
-	/**
-	 * Check if address is visible
-	 * @param address
-	 * @return if the given address is visible
-	 */
-	private boolean isAddressVisible(BigInteger address)
-	{
-		// if view tab is not yet created 
-		// cursor should always be visible
-		if (!fIsCreated)
-			return true;
-		
-		BigInteger topVisible = getTopVisibleAddress();
-		int addressableUnit = getAddressableUnitPerLine();
-		BigInteger lastVisible = getTopVisibleAddress().add(BigInteger.valueOf((getNumberOfVisibleLines() * addressableUnit) + addressableUnit));
-		
-		if (topVisible.compareTo(address) <= 0 && lastVisible.compareTo(address) > 0)
-		{
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Create actions for this rendering
-	 */
-	protected void createActions() {
-		fCopyToClipboardAction = new CopyTableRenderingToClipboardAction(this, fTableViewer);
-		fGoToAddressAction = new GoToAddressAction(this);
-		fResetMemoryBlockAction = new ResetToBaseAddressAction(this);
-		fPrintViewTabAction = new PrintTableRenderingAction(this, fTableViewer);
-		
-		fFormatRenderingAction = new FormatTableRenderingAction(this);		
-		fReformatAction = new ReformatAction(this);
-		fToggleAddressColumnAction = new ToggleAddressColumnAction();
-		
-		IMemoryRenderingSite site = getMemoryRenderingContainer().getMemoryRenderingSite();
-		if (site.getSite().getSelectionProvider() != null)
-		{
-			fPropertiesAction = new PropertyDialogAction(site.getSite(),site.getSite().getSelectionProvider()); 
-		}
-		
-		fNextAction = new NextPageAction();
-		fPrevAction = new PrevPageAction();
-	}
-	
-	/**
-	 * Handle scrollling and reload table if necessary
-	 * @param event
-	 */
-	private synchronized void handleScrollBarSelection()
-	{
-		Object evtLockClient = new Object();
-		try
-		{			
-			if (fIsDisposed)
-				return;
-			
-			BigInteger address = getTopVisibleAddress();
-	
-			if (!fTopRowAddress.equals(address))
-			{
-				fTopRowAddress = address;
-				updateSyncTopAddress();
-			}
-			
-			if (!fEvtHandleLock.acquireLock(evtLockClient))
-				return;
-			
-			if (getMemoryBlock() instanceof IMemoryBlockExtension)
-			{
-
-				if (isDynamicLoad())
-				{
-					if (!isAddressOutOfRange(address))
-					{
-						Table table = fTableViewer.getTable();
-						int numInBuffer = table.getItemCount();
-						int index = findAddressIndex(address);
-						if (index < 3)
-						{
-							if (isAtTopLimit())
-							{
-								setTopIndex(table, index);
-							}
-							else
-							{
-								reloadTable(address, false);
-							}
-						}
-						else if ((numInBuffer-(index+getNumberOfVisibleLines())) < 3)
-						{
-							if (!isAtBottomLimit())
-								reloadTable(address, false);
-						}
-					}
-					else
-					{	
-						// approaching limit, reload table
-						reloadTable(address, false);
-					}
-				}
-				
-				if (isAddressVisible(fSelectedAddress))
-					fTableCursor.setVisible(true);
-				else
-					fTableCursor.setVisible(false);
-			}
-		}
-		finally
-		{
-			fEvtHandleLock.releaseLock(evtLockClient);
-		}
-	}
-	
-	
-	private boolean isAtTopLimit()
-	{	
-		BigInteger startAddress = fContentInput.getStartAddress();
-		startAddress = MemoryViewUtil.alignToBoundary(startAddress, getAddressableUnitPerLine() );
-		
-		BigInteger startBufferAddress = fContentProvider.getBufferTopAddress();
-		startBufferAddress = MemoryViewUtil.alignToBoundary(startBufferAddress, getAddressableUnitPerLine());
-		
-		if (startAddress.compareTo(startBufferAddress) == 0)
-			return true;
-		
-		return false;
-	}
-	
-	private boolean isAtBottomLimit()
-	{
-		BigInteger endAddress = fContentInput.getEndAddress();
-		endAddress = MemoryViewUtil.alignToBoundary(endAddress, getAddressableUnitPerLine());
-		
-		BigInteger endBufferAddress = fContentProvider.getBufferEndAddress();
-		endBufferAddress = MemoryViewUtil.alignToBoundary(endBufferAddress, getAddressableUnitPerLine());
-		
-		if (endAddress.compareTo(endBufferAddress) == 0)
-			return true;
-		
-		return false;		
-	}
-	
-	private boolean needMoreLines()
-	{
-		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-		{		
-			Table table = fTableViewer.getTable();
-			TableItem firstItem = table.getItem(0);
-			TableItem lastItem = table.getItem(table.getItemCount()-1);
-			
-			if (firstItem == null || lastItem == null)
-				return true;
-			
-			TableRenderingLine first = (TableRenderingLine)firstItem.getData();
-			TableRenderingLine last = (TableRenderingLine) 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);
-			int addressableUnit = getAddressableUnitPerLine();
-			lastAddress = lastAddress.add(BigInteger.valueOf(addressableUnit));
-			
-			BigInteger topVisibleAddress = getTopVisibleAddress();
-			long numVisibleLines = getNumberOfVisibleLines();
-			long numOfBytes = numVisibleLines * addressableUnit;
-			
-			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(addressableUnit));
-			if (numTopLine.compareTo(BigInteger.valueOf(3)) <= 0 && (startAddress.compareTo(BigInteger.valueOf(0)) != 0))
-			{
-				if (!isAtTopLimit())
-					return true;
-			}
-			
-			// if there are only 3 lines left at the bottom, refresh
-			BigInteger numBottomLine = lastAddress.subtract(lastVisibleAddrss).divide(BigInteger.valueOf(addressableUnit));
-			if (numBottomLine.compareTo(BigInteger.valueOf(3)) <= 0)
-			{
-				if (!isAtBottomLimit())
-					return true;
-			}
-			
-			return false;
-		}
-		
-		return false;
-	}
-
-	private void handleTableMouseEvent(MouseEvent e) {
-		// figure out new cursor position based on here the mouse is pointing
-		TableItem[] tableItems = fTableViewer.getTable().getItems();
-		TableItem selectedRow = null;
-		int colNum = -1;
-		int numCol = fTableViewer.getColumnProperties().length;
-		
-		for (int j=0; j<tableItems.length; j++)
-		{
-			TableItem item = tableItems[j];
-			for (int i=0; i<numCol; i++)
-			{
-				Rectangle bound = item.getBounds(i);
-				if (bound.contains(e.x, e.y))
-				{
-					colNum = i;
-					selectedRow = item;
-					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);
-			fTableCursor.setVisible(true);
-			fTableCursor.setSelection(row, colNum);
-			
-			// manually call this since we don't get an event when
-			// the table cursor changes selection.
-			handleCursorMoved();
-			
-			fTableCursor.setFocus();
-		}			
-	}
-	
-	/**
-	 * Handle column size changed event from synchronizer
-	 * @param newColumnSize
-	 */
-	private void columnSizeChanged(final int newColumnSize) {
-		// ignore event if view tab is disabled
-		if (!isVisible())
-			return;
-
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				format(getBytesPerLine(), newColumnSize);
-			}
-		});
-	}
-	
-	/**
-	 * @param newRowSize - new row size in number of bytes
-	 */
-	private void rowSizeChanged(final int newRowSize)
-	{
-		// ignore event if view tab is disabled
-		if (!isVisible())
-			return;
-		
-		int bytesPerLine = newRowSize;
-		int col = getBytesPerColumn();
-		if (bytesPerLine < getBytesPerColumn())
-			col = bytesPerLine;
-
-		final int columnSize = col;
-		final int rowSize = bytesPerLine;
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				format(rowSize, columnSize);
-			}
-		});		
-	}
-	
-	private void handleCursorMouseEvent(MouseEvent e){
-		if (e.button == 1)
-		{
-			int col = fTableCursor.getColumn();
-			if (col > 0 && col <= (getNumCol()))
-				activateCellEditor(null);
-		}			
-	}
-	
-	/**
-	 * Activate celll editor and prefill it with initial value.
-	 * If initialValue is null, use cell content as initial value
-	 * @param initialValue
-	 */
-	private void activateCellEditor(String initialValue) {
-		
-		int col = fTableCursor.getColumn();
-		int row = findAddressIndex(fSelectedAddress);
-		
-		if (row < 0)
-			return;
-		// do not allow user to edit address column
-		if (col == 0 || col > getNumCol())
-		{
-			return;
-		}
-		
-		ICellModifier cellModifier = null;
-		
-		if (fTableViewer == null)
-		{
-			return;
-		}
-		cellModifier = fTableViewer.getCellModifier();
-		
-		TableItem tableItem = fTableViewer.getTable().getItem(row);
-		
-		Object element = tableItem.getData();
-		Object property = fTableViewer.getColumnProperties()[col];
-		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.
-		((TableRenderingCellModifier)cellModifier).setEditActionInvoked(true);
-		boolean canEdit = cellModifier.canModify(element, (String)property);
-		((TableRenderingCellModifier)cellModifier).setEditActionInvoked(false);
-		
-		if (!canEdit)
-			return;
-		
-		// activate based on current cursor position
-		TextCellEditor selectedEditor = (TextCellEditor)fTableViewer.getCellEditors()[col];
-
-		
-		if (fTableViewer != null && selectedEditor != 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);
-			}
-			
-			text.setText(cellValue);
-	
-			fCursorEditor.horizontalAlignment = SWT.LEFT;
-			fCursorEditor.grabHorizontal = true;
-	
-			// Open the text editor in selected column of the selected row.
-			fCursorEditor.setEditor (text, tableItem, col);
-	
-			// 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);
-		}
-	}
-	
-	/**
-	 * @param text
-	 */
-	private void addListeners(Text text) {
-		fEditorFocusListener = new FocusAdapter() {
-			public void focusLost(FocusEvent e)
-			{
-				handleTableEditorFocusLost(e);
-			}
-		};
-		text.addFocusListener(fEditorFocusListener);
-		
-		fEditorKeyListener = new KeyAdapter() {
-			public void keyPressed(KeyEvent e) {
-				handleKeyEventInEditor(e);
-			}
-		};
-
-		text.addKeyListener(fEditorKeyListener);
-	}
-	
-	/**
-	 * @param text
-	 */
-	private void removeListeners(Text text) {
-		
-		text.removeFocusListener(fEditorFocusListener);
-		text.removeKeyListener(fEditorKeyListener);
-	}
-	
-	private void handleTableEditorFocusLost(FocusEvent event)
-	{
-		final FocusEvent e = event;
-
-		Display.getDefault().syncExec(new Runnable() {
-
-			public void run()
-			{
-				try
-				{
-					int row = findAddressIndex(fSelectedAddress);
-					int col = fTableCursor.getColumn();
-					
-					Text text = (Text)e.getSource();
-					removeListeners(text);
-
-					// get new value
-					String newValue = text.getText();
-					
-					// modify memory at fRow and fCol
-					modifyValue(row, col, newValue);
-							
-					// show cursor after modification is completed
-					setCursorAtAddress(fSelectedAddress);
-					fTableCursor.moveAbove(text);
-					fTableCursor.setVisible(false);
-					fTableCursor.setVisible(true);
-				}
-				catch (NumberFormatException e1)
-				{
-					MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, 
-						DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null);
-				}		
-			}
-		});		
-	}
-	
-	/**
-	 * @param event
-	 */
-	private void handleKeyEventInEditor(KeyEvent event) {
-		final KeyEvent e = event;
-		Display.getDefault().asyncExec(new Runnable()
-		{
-			public void run()
-			{
-				Text text = (Text)e.getSource();
-				int row = findAddressIndex(fSelectedAddress);
-				int col = fTableCursor.getColumn();
-				
-				try
-				{
-					switch (e.keyCode)
-					{
-						case SWT.ARROW_UP :
-							
-							// move text editor box up one row		
-							if (row-1 < 0)
-								return;
-						
-							// modify value for current cell
-							modifyValue(row, col, text.getText());
-													
-							row--;
-
-							//	update cursor location and selection in table	
-							fTableCursor.setSelection(row, col);
-							handleCursorMoved();
-							
-							// remove listeners when focus is lost
-							removeListeners(text);
-							activateCellEditor(null);
-							break;
-						case SWT.ARROW_DOWN :
-							
-							// move text editor box down one row
-							
-							if (row+1 >= fTableViewer.getTable().getItemCount())
-								return;
-							
-							// modify value for current cell
-							modifyValue(row, col, text.getText());
-						
-							row++;
-							
-							//	update cursor location and selection in table								
-							fTableCursor.setSelection(row, col);
-							handleCursorMoved();
-												
-							// 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
-							int numCharsPerByte = getNumCharsPerByte();
-							if (numCharsPerByte > 0)
-							{
-								if (text.getText().length() > getBytesPerColumn()*numCharsPerByte)
-								{
-									String newValue = text.getText();
-									text.setText(newValue.substring(0, getBytesPerColumn()*numCharsPerByte));
-									
-									modifyValue(row, col, text.getText());
-									
-									// if cursor is at the end of a line, move to next line
-									if (col >= getNumCol())
-									{
-										col = 1;
-										row++;
-									}
-									else
-									{
-										// move to next column
-										row++;
-									}
-									
-									// update cursor position and selected address
-									fTableCursor.setSelection(row, col);
-									handleCursorMoved();
-									
-									removeListeners(text);
-						
-									// activate text editor at next cell
-									activateCellEditor(newValue.substring(getBytesPerColumn()*numCharsPerByte));
-								}
-							}
-							break;	
-						case SWT.ESC:
-
-							// if user has pressed escape, do not commit the changes
-							// that's why "modifyValue" is not called
-							fTableCursor.setSelection(row, col);
-							handleCursorMoved();
-					
-							removeListeners(text);
-							
-							// cursor needs to have focus to remove focus from cell editor
-							fTableCursor.setFocus();
-							break;	
-						default :
-							numCharsPerByte = getNumCharsPerByte();
-							if (numCharsPerByte > 0)
-							{								
-								if (text.getText().length()> getBytesPerColumn()* numCharsPerByte)
-								{
-									String newValue = text.getText();
-									text.setText(newValue.substring(0,getBytesPerColumn()* numCharsPerByte));
-									modifyValue(row, col, text.getText());
-									// if cursor is at the end of a line, move to next line
-									if (col >= getNumCol())
-									{
-										col = 1;
-										row++;
-									}
-									else
-									{
-										col++;
-									}
-									
-									fTableCursor.setSelection(row, col);
-									handleCursorMoved();
-									
-									removeListeners(text);
-									
-									activateCellEditor(newValue.substring(getBytesPerColumn()*numCharsPerByte));
-								}
-							}
-						break;
-					}
-				}
-				catch (NumberFormatException e1)
-				{
-					MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, 
-						DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null);
-					
-					fTableCursor.setSelection(row, col);
-					handleCursorMoved();
-			
-					removeListeners(text);
-				}
-			}
-		});
-	}
-
-	
-	/**
-	 * 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 = fTableViewer.getTable().getItem(row);
-
-		Object property = fTableViewer.getColumnProperties()[col];
-		fTableViewer.getCellModifier().modify(tableItem, (String)property, newValue);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#becomesHidden()
-	 */
-	public void becomesHidden() {
-		
-		if (isVisible() == false)
-		{
-			// super should always be called
-			super.becomesHidden();
-			return;
-		}
-
-		super.becomesHidden();
-		
-		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-		{	
-			updateRenderingLabel(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.	
-		fContentProvider.resetDeltas();
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#becomesVisible()
-	 */
-	public void becomesVisible() {
-		
-		// do not do anything if already visible
-		if (isVisible() == true)
-		{
-			// super should always be called
-			super.becomesVisible();
-			return;
-		}
-		
-		super.becomesVisible();
-		
-		boolean value = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
-		if (value != isDynamicLoad())
-			// this call will cause a reload
-			handleDyanicLoadChanged();
-		else
-			refresh();
-		
-		synchronize();
-		updateRenderingLabel(true);
-	}
-	
-	/**
-	 * Resets this memory rendering.
-	 * The cursor will be moved to the base address of the memory block.
-	 * The table will be positioned to have the base address
-	 * at the top.
-	 * 
-	 * @deprecated use <code>resetRendering</code> to reset this rendering.
-	 */
-	public void reset()
-	{
-		try {
-			resetToBaseAddress();
-		} catch (DebugException e) {
-			MemoryViewUtil.openError(DebugUIMessages.AbstractTableRendering_12, DebugUIMessages.AbstractTableRendering_13, e); //
-		}
-	}
-	
-	/**
-	 * Reset this rendering to the base address.  
-	 * The cursor will be moved to the base address of the memory block.
-	 * The table will be positioned to have the base address
-	 * at the top.
-	 * @throws DebugException
-	 */
-	private void resetToBaseAddress() throws DebugException
-	{
-		BigInteger baseAddress;
-
-		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-		{
-			baseAddress = ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress();
-		}
-		else
-		{
-			baseAddress = BigInteger.valueOf(getMemoryBlock().getStartAddress());
-		}
-
-		goToAddress(baseAddress);
-		topVisibleAddressChanged(baseAddress, true);
-	}
-	
-	/**
-	 * Returns the currently selected address in this rendering.
-	 * 
-	 * @return the currently selected address in this rendering
-	 */
-	public BigInteger getSelectedAddress() {
-		return fSelectedAddress;
-	}
-
-	/**
-	 * Returns the currently selected content in this rendering as a String.
-	 * 
-	 * @return the currently selected content in this rendering
-	 */
-	public String getSelectedAsString() {
-
-		if (isAddressOutOfRange(fSelectedAddress))
-			return ""; //$NON-NLS-1$
-		
-		int col = fTableCursor.getColumn();
-		TableItem rowItem = fTableCursor.getRow();
-		int row = fTableViewer.getTable().indexOf(rowItem);
-		
-		if (col == 0)
-		{
-			return rowItem.getText(0);
-		}
-		
-		// check precondition
-		if (col > getBytesPerLine()/getBytesPerColumn())
-		{
-			return ""; //$NON-NLS-1$
-		}
-				
-		TableItem tableItem = getTableViewer().getTable().getItem(row);
-		
-		return tableItem.getText(col);	
-	}
-	
-	/**
-	 * Returns the currently selected content in this rendering as MemoryByte.
-	 * 
-	 * @return the currently selected content in array of MemoryByte.  
-	 * Returns an empty array if the selected address is out of buffered range.
-	 */
-	public MemoryByte[] getSelectedAsBytes()
-	{
-		if (isAddressOutOfRange(fSelectedAddress))
-			return new MemoryByte[0];
-		
-		int col = fTableCursor.getColumn();
-		TableItem rowItem = fTableCursor.getRow();
-		
-		// check precondition
-		if (col == 0 || col > getBytesPerLine()/getBytesPerColumn())
-		{
-			return new MemoryByte[0];
-		}
-		
-		Object data = rowItem.getData();
-		if (data == null || !(data instanceof TableRenderingLine))
-			return new MemoryByte[0];
-		
-		TableRenderingLine line = (TableRenderingLine)data;
-		int offset = (col-1)*(getAddressableUnitPerColumn()*getAddressableSize());
-		int end = offset + (getAddressableUnitPerColumn()*getAddressableSize());
-		
-		// make a copy of the bytes to ensure that data cannot be changed
-		// by caller
-		MemoryByte[] bytes = line.getBytes(offset, end);
-		MemoryByte[] retBytes = new MemoryByte[bytes.length];
-		
-		System.arraycopy(bytes, 0, retBytes, 0, bytes.length);
-		
-		return retBytes;
-	}
-	
-	/**
-	 * Returns the number of characters a byte will convert to
-	 * or -1 if unknown.
-	 * 
-	 * @return the number of characters a byte will convert to
-	 *  or -1 if unknown
-	 */
-	public int getNumCharsPerByte()
-	{
-		return -1;
-	}
-	
-	private int getMinTableItemHeight(Table table){
-		
-		// Hack to get around Linux GTK problem.
-		// On Linux GTK, table items have variable item height as
-		// carriage returns are actually shown in a cell.  Some rows will be
-		// taller than others.  When calculating number of visible lines, we
-		// need to find the smallest table item height.  Otherwise, the rendering
-		// underestimates the number of visible lines.  As a result the rendering
-		// will not be able to get more memory as needed.
-		if (MemoryViewUtil.isLinuxGTK())
-		{
-			// check each of the items and find the minimum
-			TableItem[] items = table.getItems();
-			int minHeight = table.getItemHeight();
-			for (int i=0; i<items.length; i++)
-			{
-				minHeight = Math.min(items[i].getBounds(0).height, minHeight);
-			}
-			
-			return minHeight;
-				
-		}
-		return table.getItemHeight();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		
-		if (adapter == IColorProvider.class)
-			return getColorProviderAdapter();
-		
-		if (adapter == ILabelProvider.class)
-			return getLabelProviderAdapter();
-		
-		if (adapter == IFontProvider.class)
-			return getFontProviderAdapter();
-		
-		if (adapter == IMemoryBlockTablePresentation.class)
-			return getTablePresentationAdapter();
-		
-		if (adapter == IWorkbenchAdapter.class)
-		{
-			// needed workbench adapter to fill the title of property page
-			if (fWorkbenchAdapter == null) {
-				fWorkbenchAdapter = new IWorkbenchAdapter() {
-					public Object[] getChildren(Object o) {
-						return new Object[0];
-					}
-	
-					public ImageDescriptor getImageDescriptor(Object object) {
-						return null;
-					}
-	
-					public String getLabel(Object o) {
-						return AbstractTableRendering.this.getLabel();
-					}
-	
-					public Object getParent(Object o) {
-						return null;
-					}
-				};
-			}
-			return fWorkbenchAdapter;
-		}
-		
-		if (adapter == IMemoryBlockConnection.class) {
-			if (fConnection == null) {
-				fConnection = new IMemoryBlockConnection() {
-					public void update() {
-						try {
-							fContentProvider.takeContentSnapshot();
-							if (getMemoryBlock() instanceof IMemoryBlockExtension)
-							{
-								BigInteger address = ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress();
-								if (address.compareTo(fContentProvider.getContentBaseAddress()) != 0)
-								{
-									// get to new address
-									setSelectedAddress(address);
-									updateSyncSelectedAddress();
-									fTopRowAddress = address;
-									fContentInput.updateContentBaseAddress();
-									fContentInput.setLoadAddress(address);
-								}
-								fContentProvider.loadContentForExtendedMemoryBlock();
-							}
-							else
-								fContentProvider.loadContentForSimpleMemoryBlock();
-	
-							// update UI asynchrounously
-							Display display = DebugUIPlugin.getDefault().getWorkbench().getDisplay();
-							display.asyncExec(new Runnable() {
-								public void run() {
-									updateLabels();
-									
-									if (getMemoryBlock() instanceof IMemoryBlockExtension) {
-										int topIdx = findAddressIndex(fTopRowAddress);
-										if (topIdx != -1) {
-											setTopIndex(fTableViewer.getTable(),topIdx);
-										}
-									}
-									
-									// cursor needs to be refreshed after reload
-									if (isAddressVisible(fSelectedAddress))
-									{
-										setCursorAtAddress(fSelectedAddress);
-										fTableCursor.setVisible(true);
-										fTableCursor.redraw();
-									}
-									else
-									{
-										fTableCursor.setVisible(false);
-									}
-									
-									if (!isDynamicLoad())
-										updateSyncPageStartAddress();
-									
-									updateSyncTopAddress();
-								}
-							});
-						} catch (DebugException e) {
-							displayError(e);
-						}
-					}
-				};
-			}
-			return fConnection;
-		}	
-		
-		return super.getAdapter(adapter);
-	}
-	
-	private boolean hasCustomizedDecorations()
-	{
-		if (getFontProviderAdapter() == null &&
-			getColorProviderAdapter() == null &&
-			getLabelProviderAdapter() == null)
-			return false;
-		return true;
-	}
-	
-	private boolean isBaseAddressChanged()
-	{
-		try {
-			IMemoryBlock mb = getMemoryBlock();
-			if (mb instanceof IMemoryBlockExtension)
-			{
-				BigInteger baseAddress = ((IMemoryBlockExtension)mb).getBigBaseAddress();
-				if (baseAddress != null)
-				{
-					if (!baseAddress.equals(fContentInput.getContentBaseAddress()))
-						return true;
-				}
-			}
-		} catch (DebugException e1) {
-			return false;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the color provider for this rendering's memory block or
-	 * <code>null</code> if none.
-	 * <p>
-	 * By default a color provider is obtained by asking this rendering's
-	 * memory bock for its {@link IColorProvider} adapter. When the color
-	 * provider is queried for color information, it is provided with a
-	 * {@link MemoryRenderingElement} as an argument. 
-	 * </p>
-	 * @return the color provider for this rendering's memory block,
-	 *  or <code>null</code>
-	 */
-	protected IColorProvider getColorProviderAdapter()
-	{
-		return (IColorProvider)getMemoryBlock().getAdapter(IColorProvider.class);
-	}
-	
-	/**
-	 * Returns the label provider for this rendering's memory block or
-	 * <code>null</code> if none.
-	 * <p>
-	 * By default a label provider is obtained by asking this rendering's
-	 * memory bock for its {@link ILabelProvider} adapter. When the label
-	 * provider is queried for label information, it is provided with a
-	 * {@link MemoryRenderingElement} as an argument. 
-	 * </p>
-	 * @return the label provider for this rendering's memory block,
-	 *  or <code>null</code>
-	 */
-	protected ILabelProvider getLabelProviderAdapter()
-	{
-		return (ILabelProvider)getMemoryBlock().getAdapter(ILabelProvider.class);
-	}
-	
-	/**
-	 * Returns the font provider for this rendering's memory block or
-	 * <code>null</code> if none.
-	 * <p>
-	 * By default a font provider is obtained by asking this rendering's
-	 * memory bock for its {@link IFontProvider} adapter. When the font
-	 * provider is queried for font information, it is provided with a
-	 * {@link MemoryRenderingElement} as an argument. 
-	 * </p>
-	 * @return the font provider for this rendering's memory block,
-	 *  or <code>null</code>
-	 */
-	protected IFontProvider getFontProviderAdapter()
-	{
-		return (IFontProvider)getMemoryBlock().getAdapter(IFontProvider.class);
-	}
-	
-	/**
-	 * Returns the table presentation for this rendering's memory block or
-	 * <code>null</code> if none.
-	 * <p>
-	 * By default a table presentation is obtained by asking this rendering's
-	 * memory bock for its {@link IMemoryBlockTablePresentation} adapter.
-	 * </p>
-	 * @return the table presentation for this rendering's memory block,
-	 *  or <code>null</code>
-	 */
-	protected IMemoryBlockTablePresentation getTablePresentationAdapter()
-	{
-		return (IMemoryBlockTablePresentation)getMemoryBlock().getAdapter(IMemoryBlockTablePresentation.class);
-	}
-	
-	private boolean isDynamicLoad()
-	{
-		return fContentProvider.isDynamicLoad();
-	}
-	
-	private int getPageSizeInUnits()
-	{
-		return fPageSize * getAddressableUnitPerLine();
-	}
-	
-	private void setSelectedAddress(BigInteger address)
-	{
-		fSelectedAddress = address;
-	}
-		
-	/**
-	 * Setup the viewer so it supports hovers to show the offset of each field
-	 */
-	private void createToolTip() {
-		
-		fToolTipShell = new Shell(DebugUIPlugin.getShell(), SWT.ON_TOP | SWT.RESIZE );
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 1;
-		gridLayout.marginWidth = 2;
-		gridLayout.marginHeight = 0;
-		fToolTipShell.setLayout(gridLayout);
-		fToolTipShell.setBackground(fTableViewer.getTable().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		
-		final Control toolTipControl = createToolTipControl(fToolTipShell);
-		
-		if (toolTipControl == null)
-		{
-			// if client decide not to use tooltip support
-			fToolTipShell.dispose();
-			return;
-		}
-		
-		MouseTrackAdapter listener = new MouseTrackAdapter(){
-			
-			private TableItem fTooltipItem = null;
-			private int fCol = -1;
-			
-			public void mouseExit(MouseEvent e){
-				
-				if (!fToolTipShell.isDisposed())
-					fToolTipShell.setVisible(false);
-				fTooltipItem = null;
-			}
-			
-			public void mouseHover(MouseEvent e){
-				
-				Point hoverPoint = new Point(e.x, e.y);
-				Control control = null;
-				
-				if (e.widget instanceof Control)
-					control = (Control)e.widget;
-				
-				if (control == null)
-					return;
-				
-				hoverPoint = control.toDisplay(hoverPoint);
-				TableItem item = getItem(hoverPoint);
-				int column = getColumn(hoverPoint);
-				
-				//Only if there is a change in hover
-				if(this.fTooltipItem != item || fCol != column){
-					
-					//Keep Track of the latest hover
-					fTooltipItem = item;
-					fCol = column;
-					
-					if(item != null){
-						toolTipAboutToShow(toolTipControl, fTooltipItem, column);
-						
-						//Setting location of the tooltip
-						Rectangle shellBounds = fToolTipShell.getBounds();
-						shellBounds.x = hoverPoint.x;
-						shellBounds.y = hoverPoint.y + item.getBounds(0).height;
-						
-						fToolTipShell.setBounds(shellBounds);
-						fToolTipShell.pack();
-						
-						fToolTipShell.setVisible(true);
-					}
-					else {
-						fToolTipShell.setVisible(false);
-					}
-				}
-			}
-		};
-		
-		fTableViewer.getTable().addMouseTrackListener(listener);
-		fTableCursor.addMouseTrackListener(listener);
-	}
-	
-	/**
-	 * Bug with table widget,BUG 113015, the widget is not able to return the correct
-	 * table item if SWT.FULL_SELECTION is not on when the table is created.
-	 * Created the following function to work around the problem.
-	 * We can remove this method when the bug is fixed.
-	 * @param point
-	 * @return the table item where the point is located, return null if the item cannot be located.
-	 */
-	private TableItem getItem(Point point)
-	{
-		TableItem[] items = fTableViewer.getTable().getItems();
-		for (int i=0; i<items.length; i++)
-		{
-			Point start = new Point(items[i].getBounds(0).x, items[i].getBounds(0).y);
-			start = fTableViewer.getTable().toDisplay(start);
-			Point end = new Point(start.x + items[i].getBounds(0).width, start.y + items[i].getBounds(0).height);
-			
-			if (start.y < point.y && point.y < end.y)
-				return items[i];
-		}
-		return null;
-	}
-	
-	/**
-	 * Method for figuring out which column the point is located.
-	 * @param point
-	 * @return the column index where the point is located, return -1 if column is not found.
-	 */
-	private int getColumn(Point point)
-	{
-		int colCnt = fTableViewer.getTable().getColumnCount();
-		TableItem item = fTableViewer.getTable().getItem(0);
-		for (int i=0; i<colCnt; i++)
-		{
-			Point start = new Point(item.getBounds(i).x, item.getBounds(i).y);
-			start = fTableViewer.getTable().toDisplay(start);
-			Point end = new Point(start.x + item.getBounds(i).width, start.y + item.getBounds(i).height);
-			
-			if (start.x < point.x && end.x > point.x)
-				return i;
-		}
-		return -1;
-	}
-
-	/**
-	 * Creates the control used to display tool tips for cells in this table. By default
-	 * a label is used to display the address of the cell. Clients may override this
-	 * method to create custom tooltip controls.
-	 * <p>
-	 * Also see the methods <code>getToolTipText(...)</code> and 
-	 * <code>toolTipAboutToShow(...)</code>.
-	 * </p>
-	 * @param composite parent for the tooltip control
-	 * @return the tooltip control to be displayed
-	 * @since 3.2
-	 */
-	protected Control createToolTipControl(Composite composite) {
-		Control fToolTipLabel = new Label(composite, SWT.NONE);
-		fToolTipLabel.setForeground(fTableViewer.getTable().getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-		fToolTipLabel.setBackground(fTableViewer.getTable().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		fToolTipLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL |
-				GridData.VERTICAL_ALIGN_CENTER));
-		return fToolTipLabel;
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.IResettableMemoryRendering#resetRendering()
-	 */
-	public void resetRendering() throws DebugException {
-		resetToBaseAddress();
-	}
-
-	/**
-	 * Called when the tool tip is about to show in this rendering.
-	 * Clients who overrides <code>createTooltipControl</code> may need to
-	 * also override this method to ensure that the tooltip shows up properly
-	 * in their customized control.
-	 * <p>
-	 * By default a text tooltip is displayed, and the contents for the tooltip
-	 * are generated by the <code>getToolTipText(...)</code> method.
-	 * </p>
-	 * @param toolTipControl - the control for displaying the tooltip
-	 * @param item - the table item where the mouse is pointing.
-	 * @param col - the column at which the mouse is pointing.
-	 * @since 3.2
-	 */
-	protected void toolTipAboutToShow(Control toolTipControl, TableItem item,
-			int col) {
-		if (toolTipControl instanceof Label) {
-			BigInteger address = getAddressFromTableItem(item, col);
-			if (address != null) {
-				Object data = item.getData();
-				if (data instanceof TableRenderingLine) {
-					TableRenderingLine line = (TableRenderingLine) data;
-
-					if (col > 0) {
-						int start = (col - 1) * getBytesPerColumn();
-						int end = start + getBytesPerColumn();
-						MemoryByte[] bytes = line.getBytes(start, end);
-
-						String str = getToolTipText(address, bytes);
-
-						if (str != null)
-							((Label) toolTipControl).setText(str);
-					} else {
-						String str = getToolTipText(address,
-								new MemoryByte[] {});
-
-						if (str != null)
-							((Label) toolTipControl).setText(str);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns the text to display in a tool tip at the specified address
-	 * for the specified bytes. By default the address of the bytes is displayed.
-	 * Subclasses may override.
-	 * 
-	 * @param address address of cell that tool tip is displayed for 
-	 * @param bytes the bytes in the cell
-	 * @return the tooltip text for the memory bytes located at the specified
-	 *         address
-	 * @since 3.2
-	 */
-	protected String getToolTipText(BigInteger address, MemoryByte[] bytes)
-	{
-		StringBuffer buf = new StringBuffer("0x"); //$NON-NLS-1$
-		buf.append(address.toString(16).toUpperCase());
-		
-		return buf.toString();
-	}
-	
-	
-	private String getRowPrefId(String modelId) {
-		String rowPrefId = IDebugPreferenceConstants.PREF_ROW_SIZE + ":" + modelId; //$NON-NLS-1$
-		return rowPrefId;
-	}
-
-	private String getColumnPrefId(String modelId) {
-		String colPrefId = IDebugPreferenceConstants.PREF_COLUMN_SIZE + ":" + modelId; //$NON-NLS-1$
-		return colPrefId;
-	}
-	
-	/**
-	 * @param modelId
-	 * @return default number of addressable units per line for the model
-	 */
-	private int getDefaultRowSizeByModel(String modelId)
-	{
-		int row = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
-		if (row == 0)
-		{
-			DebugUITools.getPreferenceStore().setValue(getRowPrefId(modelId), IDebugPreferenceConstants.PREF_ROW_SIZE_DEFAULT);
-		}
-		
-		row = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
-		return row;
-		
-	}
-	
-	/**
-	 * @param modelId
-	 * @return default number of addressable units per column for the model
-	 */
-	private int getDefaultColumnSizeByModel(String modelId)
-	{
-		int col = DebugUITools.getPreferenceStore().getInt(getColumnPrefId(modelId));
-		if (col == 0)
-		{
-			DebugUITools.getPreferenceStore().setValue(getColumnPrefId(modelId), IDebugPreferenceConstants.PREF_COLUMN_SIZE_DEFAULT);
-		}
-		
-		col = DebugUITools.getPreferenceStore().getInt(getColumnPrefId(modelId));
-		return col;
-	}
-
-	
-	/**
-	 * Returns text for the given memory bytes at the specified address for the specified
-	 * rendering type. This is called by the label provider for.
-	 * Subclasses must override.
-	 * 
-	 * @param renderingTypeId rendering type identifier
-	 * @param address address where the bytes belong to
-	 * @param data the bytes
-	 * @return a string to represent the memory. Cannot not return <code>null</code>.
-	 * 	Returns a string to pad the cell if the memory cannot be converted
-	 *  successfully.
-	 */
-	abstract public String getString(String renderingTypeId, BigInteger address, MemoryByte[] data);
-	
-	/**
-	 * Returns bytes for the given text corresponding to bytes at the given
-	 * address for the specified rendering type. This is called by the cell modifier
-	 * when modifying bytes in a memory block.
-	 * Subclasses must convert the string value to an array of bytes.  The bytes will
-	 * be passed to the debug adapter for memory block modification.
-	 * Returns <code>null</code> if the bytes cannot be formatted properly.
-	 * 
-	 * @param renderingTypeId rendering type identifier
-	 * @param address address the bytes begin at
-	 * @param currentValues current values of the data in bytes format
-	 * @param newValue the string to be converted to bytes
-	 * @return the bytes converted from a string
-	 */
-	abstract public byte[] getBytes(String renderingTypeId, BigInteger address, MemoryByte[] currentValues, String newValue);
-
-
-}	
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTextRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTextRendering.java
deleted file mode 100644
index 06a4417..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTextRendering.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-import java.io.UnsupportedEncodingException;
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Abstract implementation of a rendering that translates memory into 
- * text, displayed in a table.
- * <p>
- * Clients should subclass from this class if they wish to provide a table
- * text rendering with a specific code page.
- * </p>
- * @since 3.1
- */
-abstract public class AbstractTextRendering extends AbstractTableRendering { 	
-	
-	private String fCodePage;
-
-	/**
-	 * Constructs a text rendering of the specified type.
-	 * 
-	 * @param renderingId memory rendering type identifier
-	 */
-	public AbstractTextRendering(String renderingId)
-	{
-		super(renderingId);
-	}
-	
-	/**
-	 * Constructs a text rendering of the specified type on the given
-	 * code page.
-	 * 
-	 * @param renderingId memory rendering type identifier
-	 * @param codePage the name of a supported
-     *  {@link java.nio.charset.Charset </code>charset<code>}, for
-     *  example <code>CP1252</code>
-	 */
-	public AbstractTextRendering(String renderingId, String codePage)
-	{
-		super(renderingId);
-		fCodePage = codePage;
-	}
-	
-	/**
-	 * Sets the code page for this rendering.  This does not cause
-	 * the rendering to be updated with the new code page.  Clients need
-	 * to update the rendering manually when the code page is changed.
-	 * 
-	 * @param codePage the name of a supported
-	 * {@link java.nio.charset.Charset </code>charset<code>}, for
-     *  example <code>CP1252</code>
-	 */
-	public void setCodePage(String codePage)
-	{
-		fCodePage = codePage;
-	}
-	
-	/**
-	 * Returns the current code page used by this rendering.  Returns null
-	 * if not set.
-	 * @return  Returns the current code page used by this rendering.  Returns null
-	 * if not set.
-	 */
-	public String getCodePage()
-	{
-		return fCodePage;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.AbstractTableRendering#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[])
-	 */
-	public String getString(String dataType, BigInteger address,  MemoryByte[] data) {
-		try {
-			String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-			if(fCodePage == null)
-				return ""; //$NON-NLS-1$
-			
-			boolean[] invalid = new boolean[data.length];
-			boolean hasInvalid = false;
-			byte byteArray[] = new byte[data.length];
-			for (int i=0; i<data.length; i++)
-			{
-				if (!data[i].isReadable())
-				{
-					invalid[i] = true;
-					hasInvalid = true;
-				}
-				byteArray[i] = data[i].getValue();
-			}
-			
-			if (hasInvalid)
-			{
-				StringBuffer strBuf = new StringBuffer();
-				for (int i=0; i<data.length; i++)
-				{
-					if (invalid[i])
-						strBuf.append(paddedStr);
-					else
-						strBuf.append(new String(new byte[]{byteArray[i]}, fCodePage));
-				}
-				return strBuf.toString();
-			}
-
-			return new String(byteArray, fCodePage);
-
-		} catch (UnsupportedEncodingException e) {
-			return "-- error --"; //$NON-NLS-1$
-		}
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.memory.AbstractTableRendering#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String)
-	 */
-	public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) {
-		try {
-			
-			if (fCodePage == null)
-				return new byte[0];
-			
-			byte[] bytes =  data.getBytes(fCodePage);
-			return bytes;
-			
-		} catch (UnsupportedEncodingException e) {
-			return new byte[0];
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryBlockTablePresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryBlockTablePresentation.java
deleted file mode 100644
index 5da90cc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryBlockTablePresentation.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.ui.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-
-
-/**
- * Allows debug models to customize the rendering of addresses for its memory blocks
- * in table and text based renderings provided by the debug platform.
- * <p>
- * To contribute a memory block table presentation, implement your debug model
- * presentaion as documented in <code>org.eclipse.debug.ui.IDebugModelPresentation</code>.
- * In addition, implement this interface in your debug model presentation.  Your model
- * presentation will be called when <code>org.eclipse.debug.ui.memory.AbstractTableRendering</code>
- * contructs its column and row labels. 
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IMemoryBlockTablePresentation extends IDebugModelPresentation
-{
-	
-	/**
-     * Returns a collection of labels to head columns in a <code>AbstractTableRendering</code>
-     * rendering, or <code>null</code> if default labels should be used.
-     *  
-	 * @param blk memory block
-	 * @param bytesPerLine the number if bytes to be displayed
-	 * @param numColumns the number of columns the bytes are divided into 
-	 * @return a collection of labels to head columns in a <code>AbstractTableRendering</code>
-     * rendering, or <code>null</code> if default labels should be used
-	 */
-	public String[] getColumnLabels(IMemoryBlock blk, int bytesPerLine, int numColumns);
-	
-	
-	/**
-     * Renders and returns a label for a row starting at the given address within the given
-     * memory block, or <code>null</code> if default rendering should be used.
-     * 
-	 * @param blk memory block
-	 * @param address an address in the memory block
-	 * @return a label for a row starting at the given address within the given
-     * memory block, or <code>null</code> if default rendering should be used
-	 */
-	public String getRowLabel(IMemoryBlock blk, BigInteger address);
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRendering.java
deleted file mode 100644
index 8893f77..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRendering.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * An arbitrary rendering of a memory block. A memory rendering is contributed
- * via the <code>memoryRenderings</code> extension point.
- * <p>
- * Following is an example definition of a memory renderings extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.memoryRenderings"&gt;
- *   &lt;memoryRenderingType
- *      id="com.example.asciiRendering"
- *      name="ASCII"
- *      class="com.example.RenderingFactory"&gt;
- *   &lt;/memoryRenderingType&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for a type of memory rendering</li>
- * <li><code>name</code> specifies a human readable label for a rendering type</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IMemoryRenderingTypeDelegate</code>. Renderings are created
- *   via this factory.</li>
- * </ul>
- * </p>
- * <p>
- * A rendering provides an image and label. To support dynamic labels and images, property
- * change notification is used with the following property constants defined in
- * <code>IBasicPropertyConstants</code>:
- * <ul>
- * <li><code>P_TEXT</code> - indicates a label change</li>
- * <li><code>P_IMAGE</code> - indicates a image change</li>
- * </ul>
- * </p>
- * <p>
- * Renderings needing to synchronize with other renderings are intended to use
- * property change notifications via its synchronization service. For example, when a
- * rendering becomes visible, it can register for property change events with its rendering
- * site's synchronization service, and when it becomes hidden it can deregister. When a
- * rendering is activated, it should set itself as the synchrnoization provider in its
- * rendering site and fire property change events to communicate information to
- * interested listeners.
- * </p> 
- * <p>
- * Clients contributing a memory rendering type are intended to implement this interface
- * and <code>IMemoryRenderingTypeDelegate</code>. The factory will be used to create instances
- * of <code>IMemoryRendering</code>.
- * </p>
- * @since 3.1
- */
-public interface IMemoryRendering extends IAdaptable{
-    
-    /**
-     * Initializes this rendering to be hosted in the given container, displaying
-     * the given memory block. This method is called before this rendering's control
-     * has been created.
-     * 
-     * @param container container hosting this rendering
-     * @param block the memory block to render
-     */
-    public void init(IMemoryRenderingContainer container, IMemoryBlock block);
-    
-    /**
-     * Creates the top level control for this rendering under the given parent composite.
-     * This method is called after this rendering's <code>init</code> method has been
-     * 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 Control createControl(Composite parent);
-
-    /**
-     * Returns the top level control for this rendering.
-     * <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();
-    
-    /**
-     * Disposes this rendering.
-     */
-    public void dispose();
-    
-    /**
-     * Notification this rendering has become the active rendering. Only one
-     * rendering can be active at once. Generally, the active rendering is
-     * visible and has focus.
-     */
-    public void activated();
-    
-    /**
-     * Notification this rendering is no longer the active rendering.
-     */
-    public void deactivated();
-    
-    /**
-     * Notification this rendering has become visible in its container.
-     * Note that a rendering does not have to be active to be visible.
-     */
-    public void becomesVisible();
-    
-    /**
-     * Notification this rendering has become hidden in its container.
-     */
-    public void becomesHidden();
-    
-    /**
-     * Returns the memory block displayed by this rendering.
-     * 
-     * @return the memory block displayed by this rendering
-     */
-    public IMemoryBlock getMemoryBlock();
-    
-    /**
-     * Returns the identifier associated with this rendering's type.
-     *  
-     * @return the identifier associated with this rendering's type
-     * @see IMemoryRenderingType
-     */
-    public String getRenderingId();
-    
-    /**
-     * Adds a listener for property changes to this rendering.
-     * Has no effect if an identical listener is already registered.
-     * 
-     * @param listener a property change listener
-     */
-    public void addPropertyChangeListener(IPropertyChangeListener listener);
-    
-    /**
-     * Removes the given property change listener from this rendering.
-     * Has no effect if the identical listener is not registered.
-     *
-     * @param listener a property change listener
-     */
-    public void removePropertyChangeListener(IPropertyChangeListener listener);
-    
-    /**
-     * Returns an image for this rendering. Clients should not dispose
-     * this image. This rendering will dispose the image if required when
-     * this rendering is disposed.
-     * 
-     * @return an image for this rendering
-     */
-    public Image getImage();
-    
-    /**
-     * Returns a label for this rendering.
-     * 
-     * @return a label for this rendering
-     */
-    public String getLabel();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsListener.java
deleted file mode 100644
index 6e5ab8c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsListener.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui.memory;
-
-/** 
- * A rendering bindings listener is notified of changes in the renderings provided by
- * a rendering bindings provider. When bindings change, a memory block may be bound
- * to a different set of renderings.
- * <p>
- * Clients who wish to detect changes to a dynamic bindings provider should
- * implement this interface and register as a listener with the
- * {@link org.eclipse.debug.ui.memory.IMemoryRenderingManager}.
- * </p>
- * @since 3.1
- * @see IMemoryRenderingBindingsProvider#addListener
- * @see IMemoryRenderingBindingsProvider#removeListener
- */
-public interface IMemoryRenderingBindingsListener {
-	
-	/**
-	 * Notification that the bindings provided by a rendering bindings
-	 * provider have changed.
-	 */
-	void memoryRenderingBindingsChanged();
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsProvider.java
deleted file mode 100644
index fc5d2f4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsProvider.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-
-/**
- * A rendering bindings provider provides rendering type bindings for a memory block.
- * <p>
- * By defualt, bindings for a memory block are provided by the memory rendering
- * manager. However, a client can provide dynamic renderings for a memory block
- * by contributing a dynamic rendering binding in the <code>renderingBindings</code>
- * element of a <code>memoryRenderings</code> extension.
- * </p>
- * <p>
- * Clients contributing dynamic rendering bindings are intended to implement this
- * interface.
- * </p>
- * @since 3.1
- */
-public interface IMemoryRenderingBindingsProvider {
-	
-	/**
-     * Retunrs all rendering types bound to the given memory block.
-     * This includes default and primary rendering types.
-     * 
-     * @param block memory block
-	 * @return all rendering types bound to the given memory block
-	 */
-	public IMemoryRenderingType[] getRenderingTypes(IMemoryBlock block);
-    
-    /**
-     * Returns default rendering types bound to the given memory block, 
-     * possibly empty.
-     * 
-     * @param block memory block
-     * @return default rendering types bound to the given memory block, 
-     * possibly empty
-     */
-    public IMemoryRenderingType[] getDefaultRenderingTypes(IMemoryBlock block);
-    
-    /**
-     * Returns the primary rendering type bound to the given memory block,
-     * or <code>null</code> if none.
-     * 
-     * @param block memory block
-     * @return the primary rendering type bound to the given memory block,
-     * or <code>null</code> if none
-     */
-    public IMemoryRenderingType getPrimaryRenderingType(IMemoryBlock block);
-		
-    /**
-     * Adds a listener to this binding provider.  The listener will be notified
-     * when rendering bindings change.
-     * <p>
-     * Has no affect if an identical listener is already registered.
-     * </p>
-     * @param listener listener to add
-     */
-	public void addListener(IMemoryRenderingBindingsListener listener);
-	
-    /**
-     * Removes a listener from this binding provider.  
-     * <p>
-     * Has no affect if an identical listener is not already registered.
-     * </p>
-     * @param listener listener to remove
-     */
-	public void removeListener(IMemoryRenderingBindingsListener listener);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingContainer.java
deleted file mode 100644
index b73e9ea..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingContainer.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-
-
-/**
- * A memory rendering container is a container within a memory rendering site
- * for hosting a memory renderings.
- * <p>
- * Clients hosting memory renderings may implement this interface.
- * </p>  
- * @since 3.1
- */
-public interface IMemoryRenderingContainer {
-	/**
-	 * Returns the rendering site hosting this container.
-	 * 
-	 * @return the rendering site hosting this container
-	 */
-	public IMemoryRenderingSite getMemoryRenderingSite();
-	
-	/**
-	 * Reutrns the identifier of this container. Identifiers
-	 * are unique within a container.
-	 * 
-	 * @return the identifier of this container
-	 */
-	public String getId();
-	
-	/**
-	 * Adds the given rendering to this container. A rendering must be
-	 * initialized before it is added to a container. This causes
-	 * the rendering's control to be created.
-	 * 
-	 * @param rendering the rendering to add
-	 */
-	public void addMemoryRendering(IMemoryRendering rendering);
-	
-	/**
-	 * Removes the given rendering from this container. This 
-	 * causes the rendering to be disposed.
-	 * 
-	 * @param rendering the rendering to remove
-	 */
-	public void removeMemoryRendering(IMemoryRendering rendering);
-	
-	/**
-	 * Returns all renderings currently hosted by this container.
-	 *  
-	 * @return all renderings currently hosted by this container
-	 */
-	public IMemoryRendering[] getRenderings();
-	
-	/**
-	 * Returns the active rendering in this container, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the active rendering in this container, or <code>null</code>
-	 * if none
-	 */
-	public IMemoryRendering getActiveRendering();
-	
-	/**
-	 * Returns the label for this container.
-	 * 
-	 * @return the label for this container
-	 */
-	public String getLabel();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingManager.java
deleted file mode 100644
index a02e9ee..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingManager.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-
-
-/**
- * Manager for memory renderings. Provides facilities for creating
- * renderings and retrieving memory rendering bindings.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IMemoryRenderingManager extends IMemoryRenderingBindingsProvider {
- 
-    
-    /**
-     * Returns all contributed memory rendering types.
-     * 
-     * @return all contributed memory rendering types
-     */
-    public IMemoryRenderingType[] getRenderingTypes();
-    
-    /**
-     * Returns the memory rendering type with the given identifier, or
-     * <code>null</code> if none.  The memory rendering manager will
-     * search through rendering types that are contributed via explicit
-     * rendering bindings.  (i.e. rendering types contributed via the
-     * memoryRenderings extension point). This method will not return 
-     * rendering types that are contributed by a memory binding provider.
-     * 
-     * @param id memory rendering type identifier
-     * @return the memory rendering type with the given identifier, or
-     * <code>null</code> if none
-     */
-    public IMemoryRenderingType getRenderingType(String id);
-    
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite.java
deleted file mode 100644
index 4cdf20f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-import org.eclipse.ui.IWorkbenchPartSite;
-
-/**
- * A workbench site that hosts memory renderings and provides
- * synchronization services for memory renderings.
- * <p>
- * A rendering site has an optional synchronization provider at any one time. If a
- * rendering provides synchronization information it should set itself as the synchronization
- * prodiver for its memory rendering site when it is activated. 
- * </p>
- * <p>
- * Clients hosting memory rendering may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IMemoryRenderingSite {
-
-    /**
-     * Returns the workbench part site hosting memory renderings for this rendering site.
-     * 
-     * @return the view site hosting memory renderings for this rendering site
-     */
-    public IWorkbenchPartSite getSite();
-        
-    /**
-     * Returns the syncrhonization serivce for this rendering site
-     * or <code>null</code> if none.
-     * 
-     * @return the syncrhonization serivce for this rendering site or <code>null</code>
-     */
-    public IMemoryRenderingSynchronizationService getSynchronizationService();
-    
-    /**
-     * Returns all the memory rendering containers within this rendering site.
-     * 
-     * @return all the memory rendering containers within this rendering site
-     */
-    public IMemoryRenderingContainer[] getMemoryRenderingContainers();
-    
-    /**
-     * Returns the rendering container with the given id or <code>null</code>
-     * if none.
-     *
-     * @param id identifier of the container being requested
-     * @return the rendering container with the given id or <code>null</code>
-     * if none
-     */
-    public IMemoryRenderingContainer getContainer(String id);
-    
-    
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSynchronizationService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSynchronizationService.java
deleted file mode 100644
index da24134..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSynchronizationService.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.jface.util.IPropertyChangeListener;
-
-
-/**
- * Provides facilities related to the synchronization of memory renderings.
- * <p>
- * Clients hosting renderings may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IMemoryRenderingSynchronizationService {
-    
-    /**
-     * Adds a listener for property changes notification for the specified properties.
-     * Specifying <code>null</code> indicates that the listener is interested in all 
-     * properties. If an identical listener is already registered, the properties
-     * it is registered to listen for are updated.
-     *
-     * @param listener a property change listener
-     * @param properties properties the listener is interested in, or <code>null</code>
-     *  to indicate all properties.
-     */    
-    public void addPropertyChangeListener(IPropertyChangeListener listener, String[] properties);
-    
-    /**
-     * Removes the given listener for property change notification.
-     * Has no effect if the identical listener is not registered.
-     *
-     * @param listener a property change listener
-     */
-    public void removePropertyChangeListener(IPropertyChangeListener listener);
-    
-    /**
-     * Returns the current value of the specified property for the given memory block, or
-     * <code>null</code> if none.
-     * 
-     * @param block memory block for which a property is requested
-     * @param property the name of the property
-     * @return the property value or <code>null</code>
-     */
-    public Object getProperty(IMemoryBlock block, String property);
-	
-    /**
-     * Sets the rendering currently providing sychronization information for
-     * this synchronization service, or <code>null</code> if none.
-     * 
-     * @param rendering active rendering providing synchronization information or
-     *  <code>null</code>
-     */
-    public void setSynchronizationProvider(IMemoryRendering rendering);
-    
-    /**
-     * Returns the rendering currengly providing synchronization information for
-     * this synchronization service, or <code>null</code if none.
-     * 
-     * @return rendering providing synchronization information or <code>null</null>
-     */
-    public IMemoryRendering getSynchronizationProvider(); 
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingType.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingType.java
deleted file mode 100644
index f6b0598..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingType.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Represents a type of memory rendering contributed via the <code>memoryRenderings</code>
- * extension point.
- * <p>
- * Clients contributing a rendering usually
- * implement {@link org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate}
- * and {@link org.eclipse.debug.ui.memory.IMemoryRendering}. Clients providing
- * dynamic rendering bindings via an 
- * {@link org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider}
- * may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IMemoryRenderingType {
-    
-    /**
-     * Returns a label for this type of memory rendering.
-     * 
-     * @return a label for this type of memory rendering
-     */
-    public String getLabel();
-    
-    /**
-     * Returns the unique identifier for this rendering type.
-     * 
-     * @return the unique identifier for this rendering type
-     */
-    public String getId();
-    
-    /**
-     * Creates and returns a new rendering of this type or <code>null</code>
-     * if none.
-     * 
-     * @return a new rendering of this type
-     * @exception CoreException if an exception occurrs creating
-     *  the rendering
-     */
-    public IMemoryRendering createRendering() throws CoreException;
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingTypeDelegate.java
deleted file mode 100644
index 9429124..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingTypeDelegate.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.memory;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A factory that creates memory renderings.
- * <p>
- * Clients contributing a memory rendering type are intended to implement this
- * interface. This factory will be used to create renderings. 
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.ui.memory.IMemoryRendering
- */
-public interface IMemoryRenderingTypeDelegate {
-    
-    /**
-     * Creates and returns a rendering of the specified type, or <code>null</code>
-     * if none.
-     * 
-     * @param id unique identifier of a memory rendering type
-     * @return a new rendering of the given type or <code>null</code>
-     * @exception CoreException if unable to create the rendering
-     */
-    public IMemoryRendering createRendering(String id) throws CoreException;
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IResettableMemoryRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IResettableMemoryRendering.java
deleted file mode 100644
index 269f1c5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IResettableMemoryRendering.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui.memory;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A memory rendering that can be reset.  Reset behavior is rendering
- * specific.  Typically, reset means that the rendering would position
- * itself back to the base address of its memory block.  However, clients 
- * may define its reset behaviour that is suitable for its rendering.
- * 
- * @since 3.2
- *
- */
-public interface IResettableMemoryRendering extends IMemoryRendering {
-	
-	/**
-	 * Reset this memory rendering.
-	 * 
-	 * @throws DebugException when there is a problem resetting this memory rendering.
-	 */
-	public void resetRendering() throws DebugException;
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/MemoryRenderingElement.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/MemoryRenderingElement.java
deleted file mode 100644
index 7629ec1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/MemoryRenderingElement.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.ui.memory;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.model.MemoryByte;
-
-/**
- * A memory rendering element represents a set of memory bytes being
- * rendered in a memory rendering. Instances of this class are passed
- * to a rendering's label provider, color provider, and font provider
- * to be rendered.
- * <p>
- * Clients may instantiate this class. Clients may subclass this class to add
- * other members / settings as required by a rendering.
- * </p>
- * @since 3.1
- */
-public class MemoryRenderingElement {
-	private IMemoryRendering fRendering;
-	private BigInteger fAddress;
-	private MemoryByte[] fBytes;
-	
-	/**
-	 * Constructs a new memory rendering element for the given rendering
-	 * and specified bytes.
-	 * 
-	 * @param rendering the rendering containing the memory block being rendered
-	 * @param address the address at which the rendering is taking place
-	 * @param bytes the memory bytes being rendered
-	 */
-	public MemoryRenderingElement(IMemoryRendering rendering, BigInteger address, MemoryByte[] bytes)
-	{
-		fRendering = rendering;
-		fAddress = address;
-		fBytes = bytes;
-	}
-	
-	/**
-	 * Returns the memory rendering in which bytes are being rendered.
-	 * 
-	 * @return the memory rendering in which bytes are being rendered
-	 */
-	public IMemoryRendering getRendering()
-	{
-		return fRendering;
-	}
-	
-	/**
-	 * Returns the address at which bytes are being rendered.
-	 * 
-	 * @return the address at which bytes are being rendered
-	 */
-	public BigInteger getAddress() {
-		return fAddress;
-	}
-	
-
-	/**
-	 * Returns the memory bytes being rendered.
-	 * 
-	 * @return the memory bytes being rendered
-	 */
-	public MemoryByte[] getBytes() {
-		return fBytes;
-	}
-}
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 6a7a19f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/AbstractSourceContainerBrowser.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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/CommonSourceNotFoundEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java
deleted file mode 100644
index 31a95e4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.sourcelookup;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.ISourceLocator;
-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.sourcelookup.SourceLookupManager;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceColors;
-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.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * Default editor displayed when source is not found. Displays a button to modify
- * the source lookup path.
- * <p>
- * This editor's id is <code>IDebugUIConstants.ID_COMMON_SOURCE_NOT_FOUND_EDITOR</code>
- * (value <code>org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor</code>).
- * </p>
- * <p>
- * This class may be instantiated and subclassed.
- * </p>
- * @see AbstractSourceLookupDirector
- * @see CommonSourceNotFoundEditorInput
- * @since 3.2
- */
-public class CommonSourceNotFoundEditor extends EditorPart implements IReusableEditor  {
-	
-	/**
-	 * Text widgets used for this editor
-	 */
-	private Text fText;	
-	
-	/**
-	 * Launch listener to handle launch events, or <code>null</code> if none
-	 */
-	private ILaunchesListener2 fLaunchesListener;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.EditorPart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		setSite(site);
-		setInput(input);
-		initialize();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.EditorPart#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.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);
-        data = new GridData(GridData.FILL_HORIZONTAL);
-        data.grabExcessHorizontalSpace = true;
-        fText.setLayoutData(data);
-		fText.setForeground(JFaceColors.getErrorText(fText.getDisplay()));	
-		fText.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));	
-		if (getEditorInput() != null) {
-			setInput(getEditorInput());
-		}
-		
-		createButtons(parent);		
-		
-		Dialog.applyDialogFont(parent);
-		
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugHelpContextIds.NO_SOURCE_EDITOR);
-	}
-
-	/**
-	 * Create buttons to be displayed in this editor
-	 * 
-	 * @param parent composite to create the buttons in.
-	 */
-	protected void createButtons(Composite parent) {
-		GridData data;
-		Button button = new Button(parent, SWT.PUSH);
-		data = new GridData();
-		data.grabExcessHorizontalSpace = false;
-		data.grabExcessVerticalSpace = false;
-		button.setLayoutData(data);
-		button.setText(SourceLookupUIMessages.addSourceLocation_addButton2); 
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				editSourceLookupPath();
-			}
-		});
-	}
-	
-	/**
-	 * Edits the source lookup path associated with the active debug context.
-	 * After the path is edited, source lookup is performed again and this
-	 * editor is closed.
-	 */
-	protected void editSourceLookupPath(){
-		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) {
-			IWorkbenchPage page = getEditorSite().getPage();
-			SourceLookupManager.getDefault().displaySource(getArtifact(), page, true);
-			closeEditor();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (fText != null) {
-			fText.setFocus();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.EditorPart#setInput(org.eclipse.ui.IEditorInput)
-	 */
-	public void setInput(IEditorInput input) {
-		super.setInput(input);
-		setPartName(input.getName());
-		if (fText != null) {			
-			fText.setText(getText());
-		}
-	}
-	
-	/**
-	 * Return the text to be displayed in this editor. The text is reset each time
-	 * the editor input is set.
-	 * 
-	 * @return the text to be displayed in this editor
-	 */
-	protected String getText() {
-		return getEditorInput().getToolTipText() + "\n"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Closes this editor.
-	 */
-	protected void closeEditor()
-	{
-		final IEditorPart editor = this;
-		DebugUIPlugin.getStandardDisplay().syncExec(new Runnable() {
-			public void run() {
-				IWorkbenchWindow activeWorkbenchWindow = DebugUIPlugin.getActiveWorkbenchWindow();
-				if (activeWorkbenchWindow != null) {
-					IWorkbenchPage activePage = activeWorkbenchWindow.getActivePage();
-					if (activePage != null) {
-						activePage.closeEditor(editor, false);
-					}
-				}
-			}
-		});
-	}
-	
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		if (fLaunchesListener != null)
-			DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(fLaunchesListener);
-		super.dispose();
-	}
-	
-	/**
-	 * Returns the artifact this editor was opened for (i.e. the artifact that source
-	 * was not found for), or <code>null</code>
-	 * 
-	 * @return artifact with associated source or <code>null</code>
-	 */
-	protected Object getArtifact() {
-		IEditorInput editorInput = getEditorInput();
-		if (editorInput instanceof CommonSourceNotFoundEditorInput) {
-			CommonSourceNotFoundEditorInput input = (CommonSourceNotFoundEditorInput) editorInput;
-			return input.getArtifact();
-		}
-		return null;
-	}
-	
-	/**
-	 * Initialize this editor.
-	 * Called after <code>init(IEditorSite, IEditorInput)</code>. By default, a launch
-	 * listener is added to close this editor when the associated launch terminates.
-	 * Subclasses may override.
-	 */
-	protected void initialize()
-	{
-		fLaunchesListener = new ILaunchesListener2() {
-			public void launchesTerminated(ILaunch[] launches) {
-				Object artifact = getArtifact();
-				if (artifact instanceof IDebugElement) {
-					IDebugElement element = (IDebugElement)artifact;
-					for (int i = 0; i < launches.length; i++) {
-						ILaunch launch = launches[i];
-						if (launch.equals(element.getLaunch())) {
-							closeEditor();
-							return;
-						}
-					}
-				}
-			}
-
-			public void launchesRemoved(ILaunch[] launches) {
-				launchesTerminated(launches);
-			}
-
-			public void launchesAdded(ILaunch[] launches) {
-			}
-
-			public void launchesChanged(ILaunch[] launches) {
-			}}; 
-			
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(fLaunchesListener);
-	}
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
deleted file mode 100644
index 886d5a0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.sourcelookup;
-
-import com.ibm.icu.text.MessageFormat;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-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 an artifact that has a source association.
- * <p>
- * This class may be instantiated and subclassed.
- * </p>
- * @see CommonSourceNotFoundEditor
- * @since 3.2
- */
-public class CommonSourceNotFoundEditorInput extends PlatformObject implements IEditorInput {
-	
-	/**
-	 * input element label (cached on creation)
-	 */
-	private String fLabel;
-	/**
-	 * the artifact that the editor is being opened for
-	 */
-	private Object fArtifact;
-	
-	/**
-	 * Constructs an editor input for the given artifact associated with source.
-	 *
-	 * @param artifact artifact associated with source
-	 */
-	public CommonSourceNotFoundEditorInput(Object artifact) {
-		fArtifact = artifact;
-		if (artifact != null) {
-			IDebugModelPresentation pres = DebugUITools.newDebugModelPresentation();
-			fLabel = pres.getText(artifact);
-			pres.dispose();
-		}
-		if (fLabel == null) {
-			fLabel = "";  //$NON-NLS-1$
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return DebugUITools.getDefaultImageDescriptor(fArtifact);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return fLabel;		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return MessageFormat.format(SourceLookupUIMessages.addSourceLocation_editorMessage, new String[] { fLabel }); 
-	}
-		
-	/**
-	 * Returns the artifact that source was not found for.
-	 * 
-	 * @return artifact that source was not found for
-	 */
-	public Object getArtifact(){
-		return fArtifact;
-	}
-	
-}
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 71688b0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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/ISourceLookupResult.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceLookupResult.java
deleted file mode 100644
index b485638..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceLookupResult.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.sourcelookup;
-
-import org.eclipse.ui.IEditorInput;
-
-/**
- * The result of performing source lookup on a debug artifact.
- * The result contains the resolved source element and description
- * of an editor (editor id, and editor input) in which to display
- * the result.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @see org.eclipse.debug.ui.DebugUITools#lookupSource(Object, ISourceLocator)
- * @see org.eclipse.debug.ui.DebugUITools#displaySource(ISourceLookupResult, IWorkbenchPage)  
- * @since 3.1
- */
-public interface ISourceLookupResult {
-
-    /**
-     * Returns the artifact for which source lookup was performed,
-     * such as a stack frame.
-     * 
-     * @return the artifact for which source lookup was performed
-     */
-    public Object getArtifact();
-    
-    /**
-     * Returns the source element resolved during source lookup,
-     * or <code>null</code> if a source element was not resolved.
-     * 
-     * @return resolved source element or <code>null</code> if unknown
-     */
-    public Object getSourceElement();
-        
-    /**
-     * Returns the identifier of an editor used to display this result,
-     * or <code>null</code> if unknown.
-     * 
-     * @return the identifier of an editor used to display this result,
-     * or <code>null</code> if unknown
-     */
-    public String getEditorId();
-    
-    /**
-     * Returns the editor input used to display result,
-     * or <code>null</code> if unknown.
-     * 
-     * @return the editor input used to display result,
-     * or <code>null</code> if unknown
-     */
-    public IEditorInput getEditorInput();
-}
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 30c2fad..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.sourcelookup;
-
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-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.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.IDialogSettings;
-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.PlatformUI;
-
-/**
- * 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);	
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-		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.manageSourceDialog_description); 
-		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);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,  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.manageSourceDialog_title); 
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		fPanel.dispose();
-		return super.close();
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
-     * @since 3.2
-     */
-    protected IDialogSettings getDialogBoundsSettings() {
-    	 IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-         IDialogSettings section = settings.getSection(getClass().getName());
-         if (section == null) {
-             section = settings.addNewSection(getClass().getName());
-         } 
-         return section;
-    }
-}
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 99248b3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupTab.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.PlatformUI;
-
-/**
- * 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);
-		PlatformUI.getWorkbench().getHelpSystem().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.sourceTab_tabTitle; 
-	}
-	
-	/* (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 f0bd93b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/package.html b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/package.html
deleted file mode 100644
index abf2aab..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/package.html
+++ /dev/null
@@ -1,21 +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 a user interface for debug platform source lookup facilities.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes implementing a user interface for source lookup 
-  facilities based on the source lookup director architecture defined in <code>org.eclipse.debug.core.sourcelookup</code>. 
-  A source lookup tab and dialog are provided that allow the user to modify a 
-  source lookup path.</p>
-<blockquote>&nbsp;</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.ui.console/.classpath b/org.eclipse.ui.console/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/org.eclipse.ui.console/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ui.console/.cvsignore b/org.eclipse.ui.console/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.ui.console/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.ui.console/.project b/org.eclipse.ui.console/.project
deleted file mode 100644
index aa92a70..0000000
--- a/org.eclipse.ui.console/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.console</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index afb52ed..0000000
--- a/org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 16 16:46:03 CST 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.ui.console/.settings/org.eclipse.pde.prefs b/org.eclipse.ui.console/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index de0a1d2..0000000
--- a/org.eclipse.ui.console/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:35:45 GMT-08:00 2004

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

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

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

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

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

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

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

-compilers.use-project=true

diff --git a/org.eclipse.ui.console/META-INF/MANIFEST.MF b/org.eclipse.ui.console/META-INF/MANIFEST.MF
deleted file mode 100644
index 1aa8894..0000000
--- a/org.eclipse.ui.console/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.console; singleton:=true
-Bundle-Version: 3.1.100.qualifier
-Bundle-Activator: org.eclipse.ui.console.ConsolePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.console,
- org.eclipse.ui.console.actions,
- org.eclipse.ui.internal.console;x-internal:=true
-Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.variables;bundle-version="[3.1.100,4.0.0)"
-Eclipse-LazyStart: true
-Import-Package: com.ibm.icu.text
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.ui.console/about.html b/org.eclipse.ui.console/about.html
deleted file mode 100644
index 1aeb16b..0000000
--- a/org.eclipse.ui.console/about.html
+++ /dev/null
@@ -1,27 +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>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.ui.console/build.properties b/org.eclipse.ui.console/build.properties
deleted file mode 100644
index 2a484ec..0000000
--- a/org.eclipse.ui.console/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.xml,\
-               plugin.properties,\
-               .,\
-               about.html,\
-               META-INF/
-
-source.. src/
-src.includes = about.html,\
-               schema/
diff --git a/org.eclipse.ui.console/component.xml b/org.eclipse.ui.console/component.xml
deleted file mode 100644
index 8912e63..0000000
--- a/org.eclipse.ui.console/component.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Eclipse Platform Console">
- <plugin id="org.eclipse.ui.console" />
-
- <package name="org.eclipse.ui.console">
- 	<type name="AbstractConsole" />
- 	<type name="ConsolePlugin" instantiate="false" subclass="false" />
- 	<type name="IConsole" />
- 	<type name="IConsoleConstants" implement="false" />
- 	<type name="IConsoleDocumentPartitioner" />
- 	<type name="IConsoleFactory" />
- 	<type name="IConsoleListener" />
- 	<type name="IConsoleManager" implement="false" />
- 	<type name="IConsolePageParticipant" />
- 	<type name="IConsoleView" implement="false" />
- 	<type name="IHyperlink" />
- 	<type name="IOConsole" />
- 	<type name="IOConsoleInputStream" subclass="false" instantiate="false" />
- 	<type name="IOConsoleOutputStream" subclass="false" instantiate="false" />
- 	<type name="IPatternMatchListener" />
- 	<type name="IPatternMatchListenerDelegate" />
- 	<type name="MessageConsole" subclass="false" />
- 	<type name="MessageConsoleStream" subclass="false" instantiate="false" />
- 	<type name="PatternMatchEvent" subclass="false" />
- 	<type name="TextConsole" />
- 	<type name="TextConsolePage" />
- 	<type name="TextConsoleViewer" />
- </package>
- <package name="org.eclipse.ui.console.actions">
- 	<type name="ClearOutputAction" subclass="false" />
- 	<type name="CloseConsoleAction" subclass="false" />
- 	<type name="TextViewerAction" />
- 	<type name="TextViewerGotoLineAction" subclass="false" />
- </package>
- 
- <component-depends unrestricted="true"/>
-
-</component>
\ No newline at end of file
diff --git a/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
deleted file mode 100644
index af30a42..0000000
--- a/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/clcl16/lock_co.gif b/org.eclipse.ui.console/icons/full/clcl16/lock_co.gif
deleted file mode 100644
index 68fd6cf..0000000
--- a/org.eclipse.ui.console/icons/full/clcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/clcl16/pin.gif b/org.eclipse.ui.console/icons/full/clcl16/pin.gif
deleted file mode 100644
index ec50b70..0000000
--- a/org.eclipse.ui.console/icons/full/clcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/cview16/console_view.gif b/org.eclipse.ui.console/icons/full/cview16/console_view.gif
deleted file mode 100644
index a598f60..0000000
--- a/org.eclipse.ui.console/icons/full/cview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
deleted file mode 100644
index 6775edf..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif
deleted file mode 100644
index b776478..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/pin.gif b/org.eclipse.ui.console/icons/full/dlcl16/pin.gif
deleted file mode 100644
index 61615d5..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif
deleted file mode 100644
index 559e462..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
deleted file mode 100644
index af30a42..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/lock_co.gif b/org.eclipse.ui.console/icons/full/elcl16/lock_co.gif
deleted file mode 100644
index 68fd6cf..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/new_con.gif b/org.eclipse.ui.console/icons/full/elcl16/new_con.gif
deleted file mode 100644
index 7aea894..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/new_con.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/pin.gif b/org.eclipse.ui.console/icons/full/elcl16/pin.gif
deleted file mode 100644
index ec50b70..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif b/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif
deleted file mode 100644
index 2cd9c54..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/eview16/console_view.gif b/org.eclipse.ui.console/icons/full/eview16/console_view.gif
deleted file mode 100644
index a598f60..0000000
--- a/org.eclipse.ui.console/icons/full/eview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/plugin.properties b/org.eclipse.ui.console/plugin.properties
deleted file mode 100644
index 1301fab..0000000
--- a/org.eclipse.ui.console/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Console
-providerName=Eclipse.org
-ConsoleView.name=Console
-
-ViewCommand.consoleView.name=Console
-ViewCommand.consoleView.description=Show the Console view
-
-ConsolePatternMatchListenerName= Console Pattern Match Listeners
-ConsolePageParticipantName= Console Page Participants
-
-ConsoleFactoryName= Console Factories
-
-consoleViewConsoleFactory.name=New Console View
diff --git a/org.eclipse.ui.console/plugin.xml b/org.eclipse.ui.console/plugin.xml
deleted file mode 100644
index 4fd2ab8..0000000
--- a/org.eclipse.ui.console/plugin.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension-point id="consolePatternMatchListeners" name="%ConsolePatternMatchListenerName" schema="schema/consolePatternMatchListeners.exsd"/>
-   <extension-point id="consolePageParticipants" name="%ConsolePageParticipantName" schema="schema/consolePageParticipants.exsd"/>
-   <extension-point id="consoleFactories" name="%ConsoleFactoryName" schema="schema/consoleFactories.exsd"/>
-
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            allowMultiple="true"
-            class="org.eclipse.ui.internal.console.ConsoleView"
-            icon="$nl$/icons/full/cview16/console_view.gif"
-            category="org.eclipse.ui"
-            name="%ConsoleView.name"
-            id="org.eclipse.ui.console.ConsoleView">
-      </view>
-   </extension>
-<!-- commands and their bindings
-NOTE: 
-M1 = CTRL/COMMAND 
-M2 = SHIFT 
-M3 = ALT 
-M4 = Platform-specific fourth key
--->   
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ViewCommand.consoleView.name"
-            description="%ViewCommand.consoleView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.console.ConsoleView">
-      </command>
-   </extension>
-    <extension point="org.eclipse.ui.bindings">
-     <key 
-  	    	sequence="M3+M2+Q C"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.ui.console.ConsoleView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-  	</extension>
-    <extension
-          point="org.eclipse.core.expressions.propertyTesters">
-       <propertyTester
-             namespace="org.eclipse.ui.console"
-             type="org.eclipse.ui.console.IConsole"
-             class="org.eclipse.ui.internal.console.ConsoleTypePropertyTester"
-             properties="consoleTypeTest"
-             id="org.eclipse.ui.console.ConsoleTypePropertyTester"/>
-    </extension>
-    <extension
-          point="org.eclipse.ui.console.consoleFactories">
-       <consoleFactory
-             label="%consoleViewConsoleFactory.name"
-             class="org.eclipse.ui.internal.console.ConsoleViewConsoleFactory"/>
-    </extension>
-
-</plugin>
diff --git a/org.eclipse.ui.console/schema/consoleFactories.exsd b/org.eclipse.ui.console/schema/consoleFactories.exsd
deleted file mode 100644
index 1ccd925..0000000
--- a/org.eclipse.ui.console/schema/consoleFactories.exsd
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.console">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.console" id="consoleFactories" name="Console Factories"/>
-      </appInfo>
-      <documentation>
-         A console factory creates or activates a console, and appears as an action in the console view.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="consoleFactory"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="consoleFactory">
-      <complexType>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  action label to appear in menu
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  optional plug-in relative path to an icon to appear with the action
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  class implementing &lt;code&gt;org.eclipse.ui.console.IConsoleFactory&lt;/code&gt; that will be called when the associated action is invoked
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.console.IConsoleFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a console factory extension point: 
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.ui.console.consoleFactories&quot;&gt;
-  &lt;consoleFactory 
-     label=&quot;Command Console&quot;
-     class=&quot;com.example.CommandConsoleFactory&quot;
-     icon=&quot;icons/cmd_console.gif&quot;&gt;
-  &lt;/consoleFactory&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-This extension will cause an entry to appear in the console view&apos;s &lt;b&gt;Open Console&lt;/b&gt; drop-down menu labelled &lt;b&gt;Command Console&lt;/b&gt; with the specified icon. When the action is invoked by a user, the method &lt;b&gt;openConsole()&lt;/b&gt; on the class &lt;b&gt;com.example.CommandConsoleFactory&lt;/b&gt; will be called. The factory can the decide to create a new console or activate an existing console.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.ui.console.IConsoleFactory&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The console plug-in provides a console factory to open a new console view.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.ui.console/schema/consolePageParticipants.exsd b/org.eclipse.ui.console/schema/consolePageParticipants.exsd
deleted file mode 100644
index 06b40c1..0000000
--- a/org.eclipse.ui.console/schema/consolePageParticipants.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.console">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.console" id="consolePageParticipants" name="Console Page Participants"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for contributing a console page participant.  A console page participant is notified of page lifecycle events such as creation, activation, deactivation and disposal. A page participant can also provide adapters for a page.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="consolePageParticipant"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="consolePageParticipant">
-      <complexType>
-         <sequence>
-            <element ref="enablement"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this Console Page Participant
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a fully qualified name of a Java class that implements &lt;code&gt;IConsolePageParticipant&lt;/code&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.console.IConsolePageParticipant"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a console page participant extension point: 
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.console.consolePageParticipants&quot;&gt;
-      &lt;consolePageParticipant
-            class=&quot;com.example.ExamplePageParticipant&quot;
-            id=&quot;com.example.ExamplePageParticipant&quot;&gt;
-         &lt;enablement&gt;
-            &lt;instanceof value=&quot;com.example.ExampleConsole&quot;/&gt;
-         &lt;/enablement&gt;
-      &lt;/consolePageParticipant&gt;
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-In the above example, the contributed console page participant will be used for all consoles of type &quot;com.example.ExampleConsole.&quot;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.ui.console.IConsolePageParticipant&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd b/org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd
deleted file mode 100644
index 5cb81e0..0000000
--- a/org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

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

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="consolePatternMatchListener">

-      <complexType>

-         <sequence>

-            <element ref="enablement"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this console pattern match listener

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.1

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-&lt;pre&gt;

-   &lt;extension

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

-      &lt;consolePatternMatchListener

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

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

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

-         &lt;enablement&gt;

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

-         &lt;/enablement&gt;

-      &lt;/consolePatternMatchListener&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

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

-<classpath>

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

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

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

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

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

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

-externaltools.jar

-build.xml

-temp.folder

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

-<projectDescription>

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

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

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

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

-	</natures>

-</projectDescription>

diff --git a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4d96018..0000000
--- a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Wed Feb 22 12:19:21 PST 2006

-eclipse.preferences.version=1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

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

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

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

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

-compilers.use-project=true

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